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: