Vaultwarden è un server di password leggero e compatibile con Bitwarden. Usi le normali app e le estensioni del browser di Bitwarden, ma la tua cassaforte risiede su un server che controlli tu. Consuma pochissima memoria, quindi un piccolo VPS basta e avanza. Poiché custodisce le tue password, configuralo con attenzione.
Prima di iniziare
- Un VPS con Docker. Leggi installare Docker.
- Un dominio che punta al server. Vedi i record DNS spiegati.
- Un piano per fare il backup dei dati. Vedi i backup del VPS.
Trovi altre informazioni sulla nostra pagina Vaultwarden self-hosted.
Passo 1: file Docker Compose
mkdir -p ~/vaultwarden && cd ~/vaultwarden
cat > compose.yaml <<'EOF'
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true" # switch to false after you create your account
ADMIN_TOKEN: "${ADMIN_TOKEN}"
volumes:
- ./data:/data
ports:
- "127.0.0.1:8081:80"
EOF
Passo 2: genera un token di amministrazione
La pagina di amministrazione ti permette di gestire gli utenti. Salva un token con hash, non in chiaro. L'immagine di Vaultwarden include uno strumento di aiuto:
docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
Passo 3: avvialo
docker compose up -d
docker compose logs -f
Passo 4: HTTPS con Caddy
I client Bitwarden richiedono HTTPS.
vault.example.com {
reverse_proxy 127.0.0.1:8081
}
Ricarica Caddy e apri il sito. Crea il tuo account, poi imposta SIGNUPS_ALLOWED su false ed esegui di nuovo docker compose up -d in modo che gli estranei non possano registrarsi.
Passo 5: attiva l'accesso in due passaggi
Nella cassaforte web, attiva l'accesso in due passaggi con un'app di autenticazione o una chiave hardware. Conserva il codice di recupero offline.
Fai il backup della cassaforte
Tutti i dati si trovano in ./data, principalmente il database SQLite e gli allegati. Crea una copia coerente a intervalli regolari e tienila fuori dal server:
sqlite3 data/db.sqlite3 ".backup '/backup/vaultwarden-$(date +%F).sqlite3'"
tar czf /backup/vw-files-$(date +%F).tgz data/attachments data/rsa_key*
Prova un ripristino almeno una volta. Un backup mai testato è solo una speranza.