2026-03-06 16:40:49 +01:00
2026-03-06 16:06:28 +01:00

Vaultwarden Docker Setup

Configurazione Docker per Vaultwarden, un'alternativa self-hosted e leggera a Bitwarden scritta in Rust.

📋 Descrizione

Questo progetto fornisce una configurazione Docker Compose pronta all'uso per eseguire Vaultwarden, un server compatibile con Bitwarden che permette di gestire password e dati sensibili in modo sicuro sul proprio server.

🚀 Caratteristiche

  • Deploy semplice con Docker Compose
  • Configurazione SMTP per l'invio di email
  • WebSocket abilitato
  • Volumi persistenti per dati e log
  • Registrazioni e inviti abilitati
  • Configurazione tramite variabili d'ambiente

📦 Prerequisiti

  • Docker (versione 20.10 o superiore)
  • Docker Compose (versione 1.29 o superiore)
  • Un dominio puntato al server (opzionale ma consigliato per HTTPS)

🔧 Installazione

  1. Clona o scarica il repository

  2. Crea il file di configurazione

    Copia il file di esempio e personalizzalo:

    cp env.example .env
    
  3. Configura le variabili d'ambiente

    Modifica il file .env con i tuoi parametri:

    CONTAINER_NAME=pycovault           # Nome del container Docker
    RESTART_POLICY=always              # Politica di riavvio
    HTTP_PORT=86                       # Porta HTTP dove esporre il servizio
    DOMAIN=tuodominio.com             # Il tuo dominio (senza https://)
    
    # Configurazione SMTP
    SMTP_HOST=smtp.tuoserver.com      # Server SMTP
    SMTP_PORT=587                      # Porta SMTP (587 per TLS, 465 per SSL)
    SMTP_FROM=noreply@tuodominio.com  # Email mittente
    SMTP_FROM_NAME=Vaultwarden         # Nome visualizzato
    SMTP_USERNAME=tuo_username         # Username SMTP
    SMTP_PASSWORD=tua_password         # Password SMTP
    SMTP_SECURITY=starttls             # Tipo di sicurezza: starttls o force_tls
    SMTP_AUTH_MECHANISM=Login          # Meccanismo di autenticazione
    SMTP_DEBUG=false                   # Debug SMTP (true/false)
    
  4. Avvia il container

    docker-compose up -d
    

📂 Struttura Directory

.
├── docker-compose.yml    # Configurazione Docker Compose
├── env.example          # Template variabili d'ambiente
├── .env                 # Configurazione personale (da creare)
├── secure/              # Directory dati Vaultwarden (creata automaticamente)
└── log/                 # Directory log (creata automaticamente)

🌐 Accesso

Dopo l'avvio, Vaultwarden sarà accessibile su:

  • HTTP: http://localhost:86 (o la porta configurata in HTTP_PORT)

🔐 Configurazione HTTPS (Consigliato)

Per la produzione è fortemente consigliato utilizzare HTTPS. Opzioni:

  1. Reverse Proxy (nginx, Apache, Caddy)
  2. Traefik con certificati Let's Encrypt automatici
  3. Cloudflare Tunnel

Esempio con nginx:

server {
    listen 443 ssl http2;
    server_name tuodominio.com;
    
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    location / {
        proxy_pass http://localhost:86;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    
    location /notifications/hub {
        proxy_pass http://localhost:86;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

🛠️ Comandi Utili

# Avvia i container
docker-compose up -d

# Ferma i container
docker-compose down

# Visualizza i log
docker-compose logs -f

# Riavvia il servizio
docker-compose restart

# Aggiorna l'immagine
docker-compose pull
docker-compose up -d

# Verifica stato container
docker-compose ps

🔄 Backup

È importante fare backup regolari della directory secure/ che contiene tutti i dati:

# Backup manuale
tar -czf vaultwarden-backup-$(date +%Y%m%d).tar.gz secure/

# Ripristino
tar -xzf vaultwarden-backup-YYYYMMDD.tar.gz

⚙️ Configurazioni Avanzate

Disabilitare le Registrazioni

Modifica il docker-compose.yml:

- SIGNUPS_ALLOWED=false

Abilitare Admin Panel

Aggiungi nel docker-compose.yml:

- ADMIN_TOKEN=token_sicuro_generato_casualmente

Accedi su: https://tuodominio.com/admin

Limitare le Registrazioni per Dominio

- SIGNUPS_DOMAINS_WHITELIST=tuodominio.com,altrodominio.com

🐛 Troubleshooting

Le email non vengono inviate

  • Verifica le credenziali SMTP nel file .env
  • Controlla i log: docker-compose logs -f
  • Imposta SMTP_DEBUG=true per debug dettagliato
  • Verifica che la porta SMTP non sia bloccata dal firewall

Impossibile accedere al servizio

  • Verifica che il container sia in esecuzione: docker-compose ps
  • Controlla che la porta non sia già in uso: netstat -an | grep 86
  • Verifica i log per errori: docker-compose logs

Errore di permessi sui volumi

# Assicurati che le directory esistano e siano scrivibili
mkdir -p secure log
chmod 755 secure log

📚 Risorse

📝 Licenza

Questo progetto segue la licenza di Vaultwarden. Consulta il repository ufficiale per maggiori dettagli.

⚠️ Note Importanti

  • NON condividere il file .env o committarlo in repository pubblici
  • Usa sempre HTTPS in produzione
  • Fai backup regolari dei dati
  • Mantieni aggiornata l'immagine Docker per motivi di sicurezza

🤝 Contributi

Contributi, issue e richieste di funzionalità sono benvenuti!


Nota: Questo è un setup di base. Per ambienti di produzione, considera l'implementazione di ulteriori misure di sicurezza come firewall, fail2ban, e monitoring.

Description
No description provided
Readme 28 KiB