La mascotte orso polare NordBastion in una camera-vault nordica in pietra che tiene lo scudo N ciano, circondata da carte olografiche ciano traslucide di vault password con lucchetti e icone di chiavi, incisioni runiche che brillano debolmente sulle pareti
Guida pratica · 30 min·Aggiornato 2026

Self-host Vaultwarden su un VPS.
Il suo vault Bitwarden-compatibile, in 30 minuti.

Vaultwarden è il server password Bitwarden-compatibile leggero, basato su Rust. Cinque comandi Docker, un reverse proxy HTTPS, un cron di backup — e il vault delle credenziali di ogni account che possiede vive su hardware che lei affitta, non su infrastruttura di cui si fida.

In sintesi
  • 01

    Vaultwarden è compatibile con Bitwarden a livello di protocollo wire e vault — ogni client ufficiale funziona. Gira in 50–100 MB di RAM; qualsiasi VPS lo gestisce.

  • 02

    Il vault è cifrato AES-256 lato client. Il server non vede mai la master password. Compromettere il VPS produce un blob cifrato, non credenziali.

  • 03

    Il passaggio non ovvio è il livello dei metadati — pagare l'host con una carta collegata a KYC lega la propria identità reale all'IP del vault. Un host no-KYC, pagato in crypto, rimuove quel collegamento.

Capitolo 1

Cos'è Vaultwarden, e cosa non è.

Vaultwarden — precedentemente bitwarden_rs — è una reimplementazione indipendente lato server dell'API Bitwarden in Rust. Parla lo stesso protocollo wire del server Bitwarden ufficiale, archivia i vault nello stesso formato cifrato e accetta ogni client ufficiale invariato. Per un'estensione browser Bitwarden o un'app iOS, un server Vaultwarden è indistinguibile da bitwarden.com.

Le differenze interessanti sono operative. Il server Bitwarden ufficiale è uno stack .NET multi-container progettato per il deployment enterprise; l'immagine self-host pubblicata si aspetta 2 GB di RAM e una licenza SQL Server per stare comoda. Vaultwarden è un singolo binario Rust da 15 MB che usa SQLite per default, gira comodamente in 50 MB di RAM e si avvia da freddo in meno di un secondo. L'intero progetto sta in un singolo container Docker senza dipendenze.

Ciò che si ottiene è l'intera superficie funzionale di Bitwarden — vault password, note sicure, record identità, carte di pagamento, allegati file, send (condivisioni cifrate una tantum), autenticatore TOTP, Organizzazioni con collezioni condivise, 2FA con chiave hardware, riempimento automatico browser, sblocco biometrico mobile — senza nessuno dei gate del tier a pagamento. L'equivalente del piano Families e l'equivalente dell'SSO Enterprise sono entrambi gratuiti su un Vaultwarden self-hosted.

Cosa non è Vaultwarden: un server formalmente verificato da audit. Le primitive crittografiche sono ereditate dai client Bitwarden (che sono stati verificati da audit indipendenti), ma il server Vaultwarden stesso non ha ancora superato un audit di sicurezza di terze parti. Per un vault personale o per un piccolo team è un compromesso perfettamente ragionevole; per un'impresa regolamentata non lo è.

Capitolo 2

Scegliere il VPS — perché l'host da cui si affitta conta più delle specifiche.

Vaultwarden gira su praticamente qualsiasi VPS Linux — il floor delle risorse è così basso che le specifiche tecniche sono l'asse sbagliato su cui ottimizzare. L'asse giusto è ciò che si deve consegnare per affittare il box.

Un vault di password è il singolo bersaglio di maggior valore che una persona privata possiede. Comprometterlo consente l'accesso a ogni altro account del proprietario. La postura crittografica protegge il contenuto del vault; non protegge i metadati attorno al vault — chi ha affittato l'IP, da dove, pagato con quale carta, registrato sotto quale nome.

Quando si affitta un VPS da un provider mainstream con KYC completo, il database di fatturazione collega il suo nome legale all'IPv4 del server. Se l'host subisce una violazione, o una citazione in giudizio, o semplicemente vende dati anonimizzati a un partner di marketing-analytics, il collegamento sopravvive. Il vault rimane cifrato, ma il livello dei metadati è permeabile by design.

NordBastion è l'opposto — email e password come unico requisito di registrazione, pagamento in Bitcoin, Monero, Lightning o altra criptovaluta, quattro regimi costituzionali nordici a tutela della libertà di stampa per il data center. Il vault è vostro; la traccia di metadati che collega il vault alla vostra identità non esiste affatto. Per un host Vaultwarden, il <a href="/it/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">Ravelin VPS a $5.90/mese</a> del piano base è abbondantemente sovradimensionato — 2 vCPU, 4 GB RAM e 80 GB SSD eseguiranno Vaultwarden, il reverse proxy e altre tre app self-hosted sullo stesso server.

Capitolo 3

L'installazione Docker. Cinque comandi, dieci minuti.

Avviare un VPS Debian 12 fresco, accedere via SSH come utente sudo non-root, poi eseguire questi cinque blocchi. Sostituire vault.example.com con il proprio sottodominio ovunque — sarà l'URL con cui si raggiunge il vault web.

1. Installare Docker. curl -fsSL https://get.docker.com | sh && sudo usermod -aG docker $USER — disconnettersi e riconnettersi affinché la membership al gruppo abbia effetto.

2. Creare la directory dati. mkdir -p ~/vw-data — L'intero stato di Vaultwarden (il DB vault SQLite, gli allegati, la cache delle icone) vive in una sola directory; eseguirne il backup è semplice proprio per questo.

3. Generare il token di amministrazione. docker run --rm vaultwarden/server /vaultwarden hash --preset owasp — incollare la password di amministrazione scelta quando richiesto, catturare l'hash Argon2 risultante. Questo protegge il pannello /admin.

4. Avviare il container. docker run -d --name vaultwarden --restart unless-stopped -e DOMAIN="https://vault.example.com" -e ADMIN_TOKEN='<incollare-hash-dal-punto-3>' -e SIGNUPS_ALLOWED=false -e WEBSOCKET_ENABLED=true -v ~/vw-data:/data -p [redacted-ip]:80 vaultwarden/server:latest — notare il binding -p [redacted-ip] mantiene Vaultwarden privato all'host; il reverse proxy nel capitolo 4 lo espone.

5. Verificare. curl -s http://[redacted-ip]/alive dovrebbe restituire un timestamp. Se lo fa, Vaultwarden è attivo. Se non lo fa, docker logs vaultwarden mostra cosa è andato storto — quasi sempre un errore di battitura nella variabile di ambiente ADMIN_TOKEN.

SIGNUPS_ALLOWED=false al punto 4 è l'impostazione più dimenticata. Lasciarla true e il vault è aperto a chiunque trovi l'URL per registrarsi. Impostarla su true solo il tempo necessario per creare il proprio account, poi reimpostarla su false e riavviare.

Capitolo 4

HTTPS e il pannello di amministrazione. Non opzionale, ma cinque minuti.

Vaultwarden si rifiuta di servire il vault web tramite HTTP semplice da un indirizzo non-localhost; ogni client ufficiale si rifiuta anche di parlare con un server non-HTTPS. Il passaggio reverse proxy + Let's Encrypt è il gate verso il resto della configurazione. Caddy è il percorso più leggero — un binario, ACME automatico, nessun certbot separato da pianificare.

Puntare il record DNS A per vault.example.com sull'IP del VPS e attendere la propagazione (circa due minuti per i record nuovi sulla maggior parte dei provider). sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" | sudo tee /etc/apt/sources.list.d/caddy-stable.list && sudo apt update && sudo apt install caddy.

Scrivere /etc/caddy/Caddyfile: vault.example.com { reverse_proxy [redacted-ip] header_up X-Real-IP {remote_host} } — questa è tutta la configurazione. sudo systemctl reload caddy e in dieci secondi Caddy ha ottenuto un certificato Let's Encrypt e il vault è raggiungibile su https://vault.example.com.

Il pannello /admin. Vaultwarden espone un'interfaccia di amministrazione su /admin, protetta dall'hash Argon2 generato nel capitolo 3. Da lì è possibile disabilitare le registrazioni (già fatto al punto 4), impostare il server SMTP per le email di invito e di reset password, configurare il 2FA Yubikey o Duo, impostare i limiti per utente e ispezionare l'elenco utenti. Aprirla una volta, seguire ogni sezione, salvare le impostazioni — vivono in /vw-data/config.json da quel momento.

Un piccolo dettaglio di hardening: collegare /admin fuori da internet del tutto. Aggiungere al Caddyfile: vault.example.com { @admin path /admin* @admin not remote_ip [redacted-ip]/8 [redacted-ip]/16 il.proprio.ip.casalingo/32 respond @admin 404 ... } — chiunque non sia sul proprio IP casalingo riceve un 404 quando tenta di accedere ad /admin, il pannello è invisibile da internet aperto.

Capitolo 5

Backup. L'unico errore che uccide tutto.

Un vault di password che non si riesce a ripristinare dal backup è già perso. La storia dei backup per Vaultwarden è misericordiosamente semplice — tutto ciò che conta si trova in una sola directory — ma la disciplina attorno al collaudo del ripristino è ciò che separa una configurazione funzionante da un futuro incidente.

Cosa fare il backup. L'intero albero ~/vw-data/. Al suo interno: db.sqlite3 è il vault cifrato, attachments/ contiene i file allegati, config.json contiene le impostazioni /admin, sends/ contiene le condivisioni cifrate temporanee, rsa_key.* sono le chiavi di firma JWT usate dalle sessioni.

Come fare il backup. SQLite gestisce i backup concorrenti tramite il suo comando .backup — pianificare un cron notturno: 0 4 * * * docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup /data/db.sqlite3.bak" && tar czf /backups/vw-$(date -I).tgz -C /home/<user>/vw-data . — un vault da 50 account produce un tarball inferiore a 1 MB.

Dove inviare i backup. Ovunque tranne che sullo stesso VPS. rclone su un bucket S3-compatibile, un secondo VPS, il proprio NAS casalingo via WireGuard, oppure una chiave USB cifrata da spedire a un parente una volta al trimestre — scegliere ciò che si adatta al proprio modello di minaccia. La regola fondamentale è la separazione geografica e amministrativa dall'origine.

La prova di ripristino. Avviare un secondo VPS, copiare il backup di ieri su di esso, decomprimerlo in ~/vw-data, eseguire il blocco docker dal capitolo 3 puntandolo su di esso, aprire il vault web su un sottodominio temporaneo, accedere con la propria master password. Se il proprio account si apre e il vault si decifra, il backup è reale. Eseguire questa prova ora, prima di inserire le credenziali reali nel vault. Ripeterla ogni sei mesi.

Capitolo 6

Client, condivisione, mobile. L'ecosistema Bitwarden, puntato sul suo server.

Installare il client ufficiale Bitwarden di propria scelta — estensione browser, app desktop, iOS, Android. Prima di accedere, toccare l'icona dell'ingranaggio in alto a sinistra, cambiare il server da bitwarden.com a https://vault.example.com, poi accedere con l'account creato nel capitolo 4. Il client non può fare la differenza e si comporta in modo identico a un abbonamento Bitwarden gestito.

I client mobili portano un passaggio extra: lo sblocco biometrico richiede che il dispositivo sia registrato, il che viene gestito automaticamente dal primo accesso su iOS / Android. Il riempimento automatico del browser, il riempimento automatico mobile, la generazione TOTP, il generatore di password, la ricerca del monitoraggio delle violazioni (HaveIBeenPwned) e Bitwarden Send funzionano tutti senza ulteriore configurazione.

Condivisione in famiglia. Creare un'Organizzazione nel vault web → Nuova Organizzazione → assegnarle un nome (es. «Famiglia»), piano gratuito. All'interno dell'organizzazione, creare una Collezione («Bollette condivise», «Servizi streaming», «WiFi e router»). Invitare ogni membro della famiglia tramite la loro email locale al server, accettare l'invito quando si registrano, assegnarli alla collezione. Da quel momento qualsiasi elemento nella collezione è cifrato end-to-end per ogni membro della collezione — il server vede solo testo cifrato.

Cosa non si deve pagare. Tutte le funzionalità a pagamento di Bitwarden che sono criteri lato server (Organizzazioni, collezioni condivise, l'equivalente del piano Families, 2FA con chiave hardware, allegati Send) sono sbloccate di default su Vaultwarden perché il server è il gate. Le funzionalità a pagamento che sono criteri lato client (alcuni gate premium mobile di Bitwarden) vengono rispettate dai client a meno che non vengano modificati — non vale la pena farlo per un utente onesto.

FAQ · Auto-hosting Vaultwarden

Domande, con risposta.

Otto domande che emergono prima e durante il primo mese di gestione di un Vaultwarden self-hosted.

Vaultwarden è uguale a Bitwarden?

Vaultwarden è una reimplementazione indipendente in Rust del server Bitwarden, completamente compatibile con ogni client ufficiale Bitwarden — estensione browser, app desktop, iOS, Android, CLI. Non è prodotta da Bitwarden Inc. Il protocollo wire e il formato del vault sono gli stessi; il binario del server è circa 1/100 delle dimensioni e gira comodamente in 50–100 MB di RAM.

Perché fare il self-host di Vaultwarden invece di pagare per Bitwarden hosted?

Tre motivi. Uno: nessun altro detiene il vault cifrato — anche se Bitwarden non può leggerlo, rimuovere la terza parte è il modello di minaccia più pulito. Due: costo — un VPS da $5/mese gestisce una famiglia di cinque con spazio per il resto dello stack self-hosted. Tre: nessuna telemetria, nessun endpoint analytics, nessuna email di verifica account legata a un nome.

È sicuro davvero self-hostare un vault di password?

Sì — Vaultwarden usa la stessa cifratura lato client di Bitwarden. Il vault è cifrato con AES-256 sul client prima di essere inviato al server; il server non vede mai la master password o alcun testo in chiaro. Una compromissione del VPS produce un blob cifrato che è solo così debole come la sua master password. Il rischio operativo è a carico suo (backup, HTTPS, hardening del server), ma il rischio crittografico è identico a quello di Bitwarden gestito.

Quante risorse VPS servono?

Pochissime. Vaultwarden stesso è soddisfatto con 1 vCPU e 512 MB di RAM. Il VPS NordBastion minimo (2 vCPU, 4 GB, $5.90/mese) è più che sufficiente per eseguire Vaultwarden, il reverse proxy e altri tre servizi self-hosted sullo stesso box. L'utilizzo del disco è trascurabile — un vault da 50 account con allegati rimane sotto i 200 MB.

Perché un host KYC-free, pagato in crypto, conta per un password manager?

Un vault di password è il bersaglio di maggior valore che una persona privata possiede — contiene le credenziali di ogni altro account. Affittare il server con il proprio nome legale con una carta collegata alla propria identità reale significa che una compromissione del database di fatturazione dell'host collega la sua identità all'IP del vault. Un host no-KYC, pagato in crypto, rimuove quel collegamento by design. Il vault stesso è ancora cifrato lato client; la postura no-KYC protegge il livello dei metadati.

Ho davvero bisogno di HTTPS per il vault web di Vaultwarden?

Sì, strettamente. Vaultwarden si rifiuta di servire il vault web tramite HTTP semplice da qualsiasi indirizzo diverso da localhost, e ogni client ufficiale si rifiuta anche di parlare con un server non-HTTPS. La configurazione reverse proxy + Let's Encrypt in questa guida è non opzionale. La buona notizia: l'intero passaggio TLS richiede circa tre minuti una volta che il record DNS A si è propagato.

Qual è il singolo errore più grande che le persone commettono nel self-hosting di Vaultwarden?

Non testare il ripristino dal backup. Un tar.gz notturno di /vw-data/ non è un backup finché non lo si ha decompresso su un VPS nuovo e si è effettuato con successo l'accesso al vault web recuperato. Pianificare per il caso di fallimento: il server è andato, il disco è cancellato, l'unico artefatto è il file di backup di ieri — si riesce a rientrare nel vault? Eseguire quella prova una volta prima di inserire credenziali reali nel vault. Ripeterla ogni sei mesi.

Posso condividere il mio vault con la mia famiglia da un Vaultwarden self-hosted?

Sì. Vaultwarden reimplementa la funzionalità Organizzazioni di Bitwarden — incluse le collezioni condivise, i permessi granulari e l'equivalente del piano Bitwarden Families — senza alcun tier a pagamento. Si crea un'organizzazione nel vault web, si invitano i propri familiari per email (o condividendo il link di invito direttamente), e da lì l'UX di condivisione è identica al prodotto Bitwarden ufficiale.

Ottenere il server

Affittare un VPS KYC-free, pagare in crypto, eseguire Vaultwarden oggi.

Il tier entry Ravelin (2 vCPU, 4 GB RAM, 80 GB SSD, $5.90/mese) è comodamente sovradimensionato per Vaultwarden e lascia spazio al resto dello stack self-hosted sullo stesso box.

Ultima revisione · 2026-05-20 · Fonti · Documentazione upstream Vaultwarden, matrice di compatibilità client Bitwarden, Let's Encrypt ACME · Cadenza · annuale