vaultwarden-selfhostINFO

Vaultwarden Self-Host: Tutorial completo 2026 (Docker, Raspberry Pi, TLS)

Tutorial Vaultwarden self-host 2026: Docker Compose em Raspberry Pi 4, proxy nginx, TLS Let's Encrypt, backups automáticos, compatibilidade a 100% com os clientes Bitwarden oficiais. Privacidade máxima.

Por Eric Gerard · Editor · PwdFortress4 min de leituraPhoto: Markus Spiske — Unsplash

📌 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.

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

Um ecrã de início de sessão com um campo de palavra-passe
Um ecrã de início de sessão com um campo de palavra-passe

  1. Abre https://vault.yourdomain.com no navegador
  2. Cria a tua conta (a única permitida: registos fechados depois)
  3. IMEDIATAMENTE: Settings → Security → Two-step Login → ativar TOTP
  4. IMEDIATAMENTE: verifica que SIGNUPS_ALLOWED está a false
  5. 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:

  1. docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup '/tmp/db_DATE.sqlite3'" para um snapshot consistente
  2. tar czf para arquivar
  3. gpg --encrypt --recipient you@email.com para a cifragem do lado do cliente
  4. b2 upload-file para o envio remoto
  5. 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:

  1. Clica na roda dentada das definições (antes do login)
  2. URL do servidor: https://vault.yourdomain.com
  3. Guarda
  4. 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


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.