vaultwarden-selfhostINFO

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

Tutorial Vaultwarden self-host 2026: Docker Compose su Raspberry Pi 4, proxy nginx, TLS Let's Encrypt, backup automatici, compatibilità al 100% con i client Bitwarden ufficiali. Massima privacy.

Di Eric Gerard · Editor · PwdFortress4 min di letturaPhoto: Markus Spiske — Unsplash

📌 Il self-hosting NON è per tutti: prima di iniziare, sii onesto — te la senti di gestire reverse proxy, certificati TLS, backup cifrati e aggiornamenti Docker mensili? Se la risposta è «non proprio», una cassaforte gestita come NordPass a 1,49 €/mese ti costerà meno di un guasto del Raspberry Pi mentre sei in vacanza. Se sì, questo tutorial fa per te.

Vaultwarden è la riscrittura open source in Rust del server Bitwarden, progettata per girare su hardware modesto (un Raspberry Pi 4 basta). Questo tutorial illustra un deployment di livello produzione con Docker Compose, proxy Caddy con HTTPS automatico e backup cifrati su Backblaze B2.

Vaultwarden fa girare la tua cassaforte Bitwarden sul tuo hardware. Compatibile al 100% con i client ufficiali. Configurazione in 30 minuti se conosci Docker.

01 — Prerequisiti

  • Un server Linux (Raspberry Pi 4, VPS o homelab) con Docker installato
  • Un nome di dominio che punta all'IP pubblico del server (es. vault.yourdomain.com)
  • Porta 443 aperta su firewall / NAT
  • 30 minuti
  • ~50 MB di spazio per Vaultwarden + i tuoi dati futuri

02 — Architettura target

Internet → Cloudflare (opzionale) → reverse proxy Caddy con Let's Encrypt automatico → container Vaultwarden. Dati memorizzati sull'host in /srv/vaultwarden/data.

Caddy gestisce l'HTTPS automaticamente via Let's Encrypt. Vaultwarden gira in un container Docker isolato.

03 — Docker Compose

Crea il file /srv/vaultwarden/docker-compose.yml. La configurazione usa l'immagine ufficiale vaultwarden/server:latest, espone la variabile DOMAIN che punta al tuo URL HTTPS, disabilita le registrazioni esterne con SIGNUPS_ALLOWED: false, abilita i WebSocket per la sincronizzazione in tempo reale e monta un volume ./data per la persistenza.

La configurazione di Caddy è minima: una singola direttiva reverse_proxy vaultwarden:80 più gli header di sicurezza standard (HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy).

L'ADMIN_TOKEN si genera con openssl rand -base64 48 (da mettere solo nella tua configurazione locale, mai committato).

04 — Avviare Vaultwarden

Avvia il servizio con docker compose up -d dalla cartella /srv/vaultwarden, poi controlla i log con docker compose logs -f vaultwarden. Caddy ottiene automaticamente un certificato Let's Encrypt entro 30 secondi (visibile in docker compose logs caddy).

05 — Primo accesso + hardening

Una schermata di login con un campo password
Una schermata di login con un campo password

  1. Apri https://vault.yourdomain.com nel browser
  2. Crea il tuo account (l'unico consentito: registrazioni chiuse dopo)
  3. IMMEDIATAMENTE: Settings → Security → Two-step Login → abilita TOTP
  4. IMMEDIATAMENTE: verifica che SIGNUPS_ALLOWED sia false
  5. Testa l'autofill con il browser puntato al tuo URL personalizzato

06 — Backup automatici

Uno script bash orario crea uno snapshot del database SQLite (consistente senza fermare il servizio), comprime l'intera cartella, cifra lato client con GPG (destinatario = la tua email) e carica su Backblaze B2 (~1 €/mese per 100 GB).

La sequenza:

  1. docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup '/tmp/db_DATE.sqlite3'" per uno snapshot consistente
  2. tar czf per archiviare
  3. gpg --encrypt --recipient you@email.com per la cifratura lato client
  4. b2 upload-file per l'upload remoto
  5. Pulizia locale

Crontab: 0 * * * * /usr/local/bin/vaultwarden-backup.sh

Test mensile: ripristina un backup su un'istanza di dev per verificarne l'integrità.

07 — Connettere i client Bitwarden ufficiali

In ogni client Bitwarden (mobile, desktop, browser), prima del login:

  1. Clicca sull'ingranaggio delle impostazioni (prima del login)
  2. URL del server: https://vault.yourdomain.com
  3. Salva
  4. Accedi con la tua master password

Tutti i client funzionano esattamente come con il cloud Bitwarden ufficiale.

08 — Manutenzione

  • Aggiornamenti Vaultwarden: docker compose pull && docker compose up -d (consigliato mensilmente)
  • Monitoraggio: Uptime Kuma (self-hosted) o Healthchecks.io (gratuito) per gli avvisi di downtime
  • Log: docker compose logs --tail 200 vaultwarden
  • Audit: segui github.com/dani-garcia/vaultwarden per eventuali CVE

09 — Per approfondire


Tutorial basato su Vaultwarden 1.31.x su Raspberry Pi 4 (Debian 12) a giugno 2026. Procedure validate rispetto alla documentazione ufficiale di Vaultwarden.