Quarto episodio della serie sul server casalingo. Nel precedente abbiamo installato la VPN WireGuard con wg-easy: la porta blindata che protegge la zona privata.
Ora mettiamo il primo inquilino dietro quella porta: Vaultwarden, un gestore di password che vive in casa tua e risponde soltanto a chi è connesso alla VPN. È il servizio che dà la soddisfazione più immediata di tutta la serie — smetti di affidare le tue password a un’azienda americana e cominci a custodirle tu.
Cos’è Vaultwarden e perché usarlo
Un gestore di password conserva tutte le tue credenziali in una cassaforte cifrata, protetta da un’unica password principale. Il più diffuso in ambito open-source è Bitwarden, ottimo ma ospitato sui server dell’azienda. Vaultwarden è una reimplementazione leggera e non ufficiale dello stesso servizio, scritta in Rust, che puoi far girare sul tuo hardware. La parte migliore: è compatibile al 100% con le app ufficiali Bitwarden. Usi lo stesso client su smartphone, l’estensione per il browser e l’app desktop — cambia solo il server a cui si collegano, che ora è il tuo.
I vantaggi sono concreti. Consuma pochissime risorse, gira senza problemi anche su un vecchio portatile, e nessun terzo custodisce il tuo vault. La cifratura avviene sul tuo dispositivo prima che i dati raggiungano il server: neanche tu, guardando i file sul disco, vedresti le password in chiaro. Aggiungici il fatto che è dietro VPN e ottieni un livello di protezione che i servizi commerciali non possono offrire.
Installazione con Docker
Come per wg-easy, useremo Docker. Se hai seguito l’episodio precedente ce l’hai già; altrimenti installalo con curl -fsSL https://get.docker.com | sudo sh.
1. Crea la cartella e il file di configurazione. Sul server:
mkdir -p ~/vaultwarden && cd ~/vaultwarden
nano docker-compose.yml
2. Incolla una configurazione minima. Nota il punto cruciale: non apriamo nessuna porta verso internet. Il servizio ascolta solo sull’IP interno, raggiungibile attraverso la VPN.
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
environment:
- DOMAIN=http://10.8.0.1:8080
- SIGNUPS_ALLOWED=true
volumes:
- ./data:/data
ports:
- "8080:80"
restart: unless-stopped
3. Avvia il contenitore:
sudo docker compose up -d
Con SIGNUPS_ALLOWED=true puoi creare il tuo account. Appena registrato l’unico utente, rimetti il valore su false e riavvia con docker compose up -d: così nessun altro potrà iscriversi al tuo vault.
Primo accesso e app
Assicurati che la VPN sia attiva, poi apri il browser e vai all’indirizzo interno del server sulla porta 8080. Comparirà la schermata di Vaultwarden: clicca “Crea account”, scegli un’email e soprattutto una password principale lunga e memorabile. Questa è l’unica chiave che devi ricordare, e non esiste un modo per recuperarla se la perdi — annotala su carta e custodiscila fisicamente.
Per usarlo ogni giorno, installa l’app o l’estensione Bitwarden ufficiale. Nelle impostazioni, prima del login, cerca l’opzione “Self-hosted” o l’icona dell’ingranaggio e inserisci l’indirizzo del tuo server. Da quel momento l’app parla con la tua cassaforte, non con quella di Bitwarden. Ricorda la regola d’oro della serie: la VPN deve essere attiva perché il vault risponda. Fuori casa, attivi il tunnel WireGuard e le password compaiono; lo spegni e tornano invisibili al resto del mondo.
Conclusione
Hai il tuo primo servizio davvero utile in funzione: un gestore di password che nessuno controlla al posto tuo, nascosto dietro la VPN e cifrato end-to-end. Da oggi puoi abbandonare LastPass o 1Password e migrare le credenziali nel tuo vault. Nel prossimo episodio usciamo dalla zona privata e costruiamo il gateway verso internet: Nginx Proxy Manager, il reverse proxy che gestisce HTTPS in automatico e prepara il server a ospitare siti pubblici.
Fonti: