📌 O self-hosting NÃO é para todos: antes de começar, sê honesto - estás à altura de gerir reverse proxy, certificados TLS, backups cifrados e atualizações Docker mensais? Se a resposta for «nem por isso», um cofre gerido como o NordPass a 1,49 €/mês vai custar-te menos do que uma falha do Raspberry Pi enquanto estás de férias. Se sim, este tutorial é para ti.
Novo na ideia? Comece pela nossa visão geral dos gestores self-hosted.
O Vaultwarden é a reescrita open source em Rust do servidor Bitwarden, concebida para correr em hardware modesto (um Raspberry Pi 4 chega). Este tutorial detalha um deployment de nível produção com Docker Compose, proxy Caddy com HTTPS automático e backups cifrados no Backblaze B2.
O Vaultwarden corre o teu cofre Bitwarden no teu próprio hardware. Compatível a 100% com os clientes oficiais. Configuração em 30 minutos se conheceres Docker.
01 - Pré-requisitos
- Um servidor Linux (Raspberry Pi 4, VPS ou homelab) com Docker instalado
- Um nome de domínio a apontar para o IP público do servidor (ex.:
vault.yourdomain.com) - Porta 443 aberta na firewall / NAT
- 30 minutos
- ~50 MB de espaço para o Vaultwarden + os teus dados futuros
02 - Arquitetura alvo
Internet → Cloudflare (opcional) → reverse proxy Caddy com Let's Encrypt automático → contentor Vaultwarden. Dados guardados no host em /srv/vaultwarden/data.
O Caddy trata do HTTPS automaticamente via Let's Encrypt. O Vaultwarden corre num contentor Docker isolado.
03 - Docker Compose
Cria o ficheiro /srv/vaultwarden/docker-compose.yml. A configuração usa a imagem oficial vaultwarden/server:latest, expõe a variável DOMAIN a apontar para o teu URL HTTPS, desativa os registos externos com SIGNUPS_ALLOWED: false, ativa os WebSockets para a sincronização em tempo real e monta um volume ./data para a persistência.
A configuração do Caddy é mínima: uma única diretiva reverse_proxy vaultwarden:80 mais os cabeçalhos de segurança padrão (HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy).
O ADMIN_TOKEN é gerado com openssl rand -base64 48 (a colocar apenas na tua configuração local, nunca commitado).
04 - Iniciar o Vaultwarden
Inicia o serviço com docker compose up -d a partir da pasta /srv/vaultwarden e depois verifica os logs com docker compose logs -f vaultwarden. O Caddy obtém automaticamente um certificado Let's Encrypt em 30 segundos (visível em docker compose logs caddy).
05 - Primeiro início de sessão + endurecimento
- Abre
https://vault.yourdomain.comno navegador - Cria a tua conta (a única permitida: registos fechados depois)
- IMEDIATAMENTE: Settings → Security → Two-step Login → ativar TOTP
- IMEDIATAMENTE: verifica que
SIGNUPS_ALLOWEDestá afalse - Testa o preenchimento automático com o navegador a apontar para o teu URL personalizado
06 - Backups automáticos
Um script bash de hora a hora cria um snapshot da base de dados SQLite (consistente sem parar o serviço), comprime a pasta inteira, cifra do lado do cliente com GPG (destinatário = o teu email) e envia para o Backblaze B2 (~1 €/mês por 100 GB).
A sequência:
docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup '/tmp/db_DATE.sqlite3'"para um snapshot consistentetar czfpara arquivargpg --encrypt --recipient you@email.compara a cifragem do lado do clienteb2 upload-filepara o envio remoto- Limpeza local
Crontab: 0 * * * * /usr/local/bin/vaultwarden-backup.sh
Teste mensal: restaura um backup numa instância de dev para verificar a integridade.
07 - Ligar os clientes Bitwarden oficiais
Em cada cliente Bitwarden (móvel, desktop, navegador), antes de iniciar sessão:
- Clica na roda dentada das definições (antes do login)
- URL do servidor:
https://vault.yourdomain.com - Guarda
- Inicia sessão com a tua palavra-passe mestra
Todos os clientes funcionam exatamente como com a cloud Bitwarden oficial.
08 - Manutenção
- Atualizações do Vaultwarden:
docker compose pull && docker compose up -d(recomendado mensalmente) - Monitorização: Uptime Kuma (self-hosted) ou Healthchecks.io (gratuito) para alertas de indisponibilidade
- Logs:
docker compose logs --tail 200 vaultwarden - Auditoria: segue github.com/dani-garcia/vaultwarden para eventuais CVEs
★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform
Ver NordPass Premium →1,49 €/mês · Zero manutenção · Auditado Cure53 + SOC 2→09 - Para aprofundar
- Melhores gestores de palavras-passe self-hosted 2026 - Vaultwarden vs. Bitwarden self-host, KeePassXC, Passbolt e Psono em comparação
- Análise Bitwarden 2026 completa
- Ranking dos melhores gestores de palavras-passe 2026 - compara os cofres cloud geridos se o self-hosting te parecer demasiado
- Melhores alternativas ao LastPass 2026 - para equipas que migram do LastPass antes de decidir pelo self-host
- Metodologia pública
Tutorial baseado no Vaultwarden 1.31.x em Raspberry Pi 4 (Debian 12) em junho de 2026. Procedimentos validados face à documentação oficial do Vaultwarden.
Perguntas frequentes
O Vaultwarden é mesmo compatível com os clientes Bitwarden oficiais?
**Sim, a 100%**. O Vaultwarden (antigo bitwarden_rs) é uma reescrita em Rust do servidor Bitwarden que implementa a API oficial. Os clientes Bitwarden (web, desktop, móvel, navegadores, CLI) ligam-se ao teu servidor Vaultwarden bastando apontar para o teu URL personalizado. Sem perda de funcionalidades do lado do cliente. O único caso em que o Vaultwarden fica ligeiramente atrás: algumas funcionalidades Enterprise muito recentes podem ter 1-2 meses de atraso.
Que hardware para self-hosting do Vaultwarden?
**Mínimo viável**: Raspberry Pi 4 (2 GB de RAM, microSD 32 GB) ou qualquer VPS de 3-5 €/mês (Contabo, OVH, Hetzner CX11). **Confortável**: Raspberry Pi 4 (4 GB de RAM, SSD USB 3.0) ou VPS com 4 GB de RAM. O Vaultwarden usa ~100 MB de RAM em repouso, ~200 MB no pico. O espaço depende dos anexos: ~50 MB para 500 entradas sem anexos.
O TLS / HTTPS é obrigatório para o Vaultwarden?
**Sim, em absoluto**. Os clientes Bitwarden recusam-se a ligar a um servidor HTTP não cifrado (exceto localhost em dev). Tens de implementar um certificado TLS. Solução padrão: Let's Encrypt via certbot (gratuito, renovação automática) com proxy nginx ou Caddy. O nosso tutorial detalha a opção Caddy (mais simples: 1 linha de configuração trata do HTTPS automático).
Como fazer backups fiáveis do Vaultwarden?
O Vaultwarden guarda os seus dados em SQLite (predefinido) ou PostgreSQL/MySQL (opção). Backup mínimo: copiar regularmente o ficheiro db.sqlite3 para um armazenamento externo. Solução avançada: usar litestream (replicação contínua de SQLite para S3). A nossa recomendação: um cronjob de hora a hora que comprime a pasta data e a envia cifrada para o Backblaze B2.
Vaultwarden Self-Host ou Bitwarden Cloud oficial?
**Vaultwarden self-host**: zero custos recorrentes se o servidor já estiver disponível, controlo total dos dados, mas és responsável por uptime/backups/segurança. **Bitwarden hosted oficial**: 10 $/ano por Premium, dados cifrados zero-knowledge, uma equipa profissional trata de infra/backups/atualizações. Recomendação: self-host se fores um profissional sysadmin/devops. Bitwarden hosted em todos os outros casos.