Apresentação de Vaultwarden
O Vaultwarden é uma reimplementação em Rust da API do servidor Bitwarden. Funciona com as aplicações e extensões oficiais do Bitwarden (navegador, telemóvel, computador, linha de comandos) e consome muito poucos recursos, o que o torna adequado para um VPS pequeno. É usado por programadores, famílias e pequenas equipas que querem manter as suas credenciais num servidor que controlam.
Na entrega, o script de instalação já implementou o Docker e iniciou dois contentores com Docker Compose em /opt/vaultwarden. O Vaultwarden escuta apenas localmente (127.0.0.1:8080) e o Caddy publica a interface na porta 443 em HTTPS. Os dados ficam guardados num volume Docker chamado vw_data.
O certificado é autoassinado (diretiva tls internal do Caddy) e está associado ao endereço IP público do servidor: o navegador mostrará um aviso até que associe um nome de domínio. O registo está aberto no início (SIGNUPS_ALLOWED=true). Crie a sua conta e depois feche-o.
O que pode fazer com Vaultwarden
Compatível com clientes Bitwarden
As aplicações e extensões do Bitwarden ligam-se ao seu servidor bastando indicar o respetivo URL. Mantém as ferramentas habituais, sem serviços de terceiros.
Baixo consumo de recursos
Escrito em Rust, o Vaultwarden funciona bem num VPS modesto. Deixa espaço para outros serviços na mesma máquina.
HTTPS fornecido pelo Caddy
O Caddy corre na rede do anfitrião e serve a interface na porta 443 com um certificado autoassinado. O contentor do Vaultwarden não fica exposto diretamente na Internet.
Implementação com Docker Compose
Toda a configuração está em
/opt/vaultwarden/docker-compose.ymleCaddyfile. Basta alterar e executardocker compose up -dpara aplicar.Dados num volume dedicado
A base de dados e os anexos ficam no volume
vw_data, separado do contentor. Pode atualizar a imagem sem tocar nos seus cofres.Registos controláveis
A variável
SIGNUPS_ALLOWEDpermite fechar a criação de contas depois de os seus utilizadores se registarem, para que ninguém de fora se registe na sua instância.
Começar com Vaultwarden
Da encomenda à produção em poucos minutos.
- 1
Encomende o VPS com Vaultwarden
Escolha um VPS Linux (Paris ou Frankfurt) com Debian 12, Debian 13 ou Ubuntu 20.04, 22.04, 24.04. Marque o Vaultwarden no separador Aplicações do formulário de encomenda.
- 2
Verifique a instalação após a entrega
Aguarde alguns minutos após a entrega: o script instala o Docker e depois inicia os contentores. Ligue-se por SSH e confirme que
vaultwardenecaddyestão ativos.Bashssh root@SERVER_IP cd /opt/vaultwarden docker compose ps - 3
Crie a sua conta principal
Abra https://SERVER_IP no navegador e aceite o aviso relativo ao certificado autoassinado. Crie a sua conta e depois feche os registos, para que mais ninguém possa abrir uma.
Bashsed -i 's/SIGNUPS_ALLOWED=true/SIGNUPS_ALLOWED=false/' /opt/vaultwarden/docker-compose.yml cd /opt/vaultwarden && docker compose up -d - 4
Passe a um domínio com HTTPS válido
Aponte um registo A de YOUR_DOMAIN para SERVER_IP. No Caddyfile, substitua o bloco por YOUR_DOMAIN sem
tls internal, definaDOMAIN=https://YOUR_DOMAINno docker-compose.yml, abra as portas 80 e 443 e reinicie.Bashcd /opt/vaultwarden nano Caddyfile nano docker-compose.yml ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp docker compose up -d --force-recreate
Casos de uso de Vaultwarden
Cofre pessoal ou familiar
Aloja as senhas, notas seguras e códigos de recuperação da sua casa num servidor seu, acessível a partir de todos os dispositivos.
Gestão de acessos de uma pequena equipa
Partilha credenciais (acesso a servidores, contas SaaS, chaves de API) entre alguns colaboradores, através de organizações e coleções do Bitwarden.
Alternativa a uma subscrição na cloud
Deixa um gestor alojado por terceiros e mantém o mesmo cliente Bitwarden, com os seus dados num VPS na Europa.
Peça de um servidor de ferramentas internas
Coloca o cofre ao lado de outros serviços auto-hospedados no mesmo VPS, graças à sua pequena utilização de memória.
Perguntas frequentes sobre Vaultwarden
O certificado é gerado pelo Caddy (tls internal) para o endereço IP do servidor, pelo que não é assinado por nenhuma autoridade pública. Pode aceitá-lo para criar a sua conta. Para uso prolongado, associe um nome de domínio e deixe o Caddy obter um certificado válido.
Mais sobre Vaultwarden
Ficheiros e serviços a conhecer
Tudo está em /opt/vaultwarden: o script install-vaultwarden.sh, o ficheiro docker-compose.yml e o Caddyfile. Os três volumes Docker são vw_data (os seus dados), caddy_data (certificados) e caddy_config. Os dois contentores reiniciam automaticamente (restart: always).
Usar um nome de domínio
O certificado fornecido na entrega é autoassinado e associado ao IP. As aplicações móveis e algumas extensões podem recusar este tipo de certificado, por isso recomenda-se um domínio com certificado válido para uso diário. Com um nome de domínio (veja os nossos nomes de domínio), um Caddyfile mínimo tem este aspeto:
YOUR_DOMAIN {
reverse_proxy 127.0.0.1:8080
}
O Caddy consegue então obter um certificado público, desde que o DNS aponte para o servidor e as portas 80 e 443 estejam acessíveis. Depois de alterar, reinicie com docker compose restart caddy. Não se esqueça de alinhar a variável DOMAIN do Vaultwarden.
Cópias de segurança
Faça cópia do volume vw_data: contém a base de dados SQLite, as chaves e os anexos. O nome exato do volume depende da pasta do projeto, por isso confirme-o com docker volume ls (deverá chamar-se vaultwarden_vw_data).
docker run --rm -v vaultwarden_vw_data:/data -v /root:/backup alpine tar czf /backup/vw-backup.tgz -C /data .
Copie depois o arquivo para fora do servidor. Uma cópia deixada no mesmo VPS não o protege da perda da máquina. Os tutoriais da secção /learn podem ajudar a automatizar este passo.
Atualizações
A imagem utilizada é vaultwarden/server:latest. Para passar à versão mais recente, faça primeiro uma cópia de segurança e depois:
cd /opt/vaultwarden
docker compose pull
docker compose up -d
