vaultwarden-selfhostINFO

Vaultwarden Self-Host: Komplettes Tutorial 2026 (Docker, Raspberry Pi, TLS)

Vaultwarden Self-Host-Tutorial 2026: Docker Compose auf Raspberry Pi 4, nginx-Proxy, Let's Encrypt TLS, automatische Backups, 100 % Kompatibilität mit offiziellen Bitwarden-Clients. Maximale Privatsphäre.

Von Eric Gerard · Redakteur · PwdFortress3 Min. LesezeitPhoto: Markus Spiske — Unsplash

📌 Self-Hosting ist NICHT für jeden: Bevor du loslegst, sei ehrlich — bist du bereit, Reverse-Proxy, TLS-Zertifikate, verschlüsselte Backups und monatliche Docker-Upgrades zu stemmen? Wenn die Antwort „nicht wirklich" lautet, kostet dich ein verwalteter Tresor wie NordPass für 1,49 €/Monat weniger als ein Raspberry-Pi-Ausfall, während du im Urlaub bist. Wenn ja, ist dieses Tutorial für dich.

Vaultwarden ist die Open-Source-Rust-Neuimplementierung des Bitwarden-Servers, ausgelegt für bescheidene Hardware (ein Raspberry Pi 4 reicht). Dieses Tutorial beschreibt ein produktionsreifes Deployment mit Docker Compose, automatischem HTTPS-Caddy-Proxy und verschlüsselten Backblaze-B2-Backups.

Vaultwarden betreibt deinen Bitwarden-Tresor auf deiner eigenen Hardware. 100 % kompatibel mit den offiziellen Clients. Einrichtung in 30 Minuten, wenn du Docker kennst.

01 — Voraussetzungen

  • Ein Linux-Server (Raspberry Pi 4, VPS oder Homelab) mit installiertem Docker
  • Ein Domainname, der auf die öffentliche IP des Servers zeigt (z. B. vault.yourdomain.com)
  • Port 443 in Firewall / NAT offen
  • 30 Minuten
  • ~50 MB Speicher für Vaultwarden + deine künftigen Daten

02 — Zielarchitektur

Internet → Cloudflare (optional) → Caddy Reverse-Proxy mit automatischem Let's Encrypt → Vaultwarden-Container. Daten auf dem Host unter /srv/vaultwarden/data gespeichert.

Caddy übernimmt HTTPS automatisch über Let's Encrypt. Vaultwarden läuft in einem isolierten Docker-Container.

03 — Docker Compose

Erstelle die Datei /srv/vaultwarden/docker-compose.yml. Die Konfiguration nutzt das offizielle Image vaultwarden/server:latest, stellt die Variable DOMAIN bereit, die auf deine HTTPS-URL zeigt, deaktiviert externe Registrierungen mit SIGNUPS_ALLOWED: false, aktiviert WebSockets für die Echtzeit-Synchronisierung und mountet ein ./data-Volume für die Persistenz.

Die Caddy-Konfiguration ist minimal: eine einzige reverse_proxy vaultwarden:80-Direktive plus Standard-Sicherheitsheader (HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy).

Das ADMIN_TOKEN wird mit openssl rand -base64 48 erzeugt (nur in deine lokale Konfiguration, niemals committen).

04 — Vaultwarden starten

Starte den Dienst mit docker compose up -d aus dem Ordner /srv/vaultwarden und prüfe dann die Logs mit docker compose logs -f vaultwarden. Caddy erhält automatisch innerhalb von 30 Sekunden ein Let's-Encrypt-Zertifikat (sichtbar in docker compose logs caddy).

05 — Erste Anmeldung + Härtung

Ein Anmeldebildschirm mit einem Passwortfeld
Ein Anmeldebildschirm mit einem Passwortfeld

  1. Öffne https://vault.yourdomain.com im Browser
  2. Erstelle dein Konto (das einzige erlaubte: Registrierungen danach geschlossen)
  3. SOFORT: Settings → Security → Two-step Login → TOTP aktivieren
  4. SOFORT: prüfen, dass SIGNUPS_ALLOWED auf false steht
  5. Teste das Autofill mit deinem Browser, der auf deine eigene URL zeigt

06 — Automatische Backups

Ein stündliches Bash-Skript erstellt einen Snapshot der SQLite-Datenbank (konsistent ohne Dienststopp), zippt den gesamten Ordner, verschlüsselt clientseitig mit GPG (Empfänger = deine E-Mail) und lädt zu Backblaze B2 hoch (~1 €/Monat für 100 GB).

Der Ablauf:

  1. docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup '/tmp/db_DATE.sqlite3'" für einen konsistenten Snapshot
  2. tar czf zum Archivieren
  3. gpg --encrypt --recipient you@email.com für die clientseitige Verschlüsselung
  4. b2 upload-file für den Remote-Upload
  5. Lokale Aufräumarbeiten

Crontab: 0 * * * * /usr/local/bin/vaultwarden-backup.sh

Monatlicher Test: ein Backup auf einer Dev-Instanz wiederherstellen, um die Integrität zu prüfen.

07 — Offizielle Bitwarden-Clients verbinden

In jedem Bitwarden-Client (Mobile, Desktop, Browser), vor der Anmeldung:

  1. Klicke auf das Einstellungs-Zahnrad (vor dem Login)
  2. Server-URL: https://vault.yourdomain.com
  3. Speichern
  4. Mit deinem Master-Passwort anmelden

Alle Clients funktionieren genau wie mit der offiziellen Bitwarden-Cloud.

08 — Wartung

  • Vaultwarden-Updates: docker compose pull && docker compose up -d (monatlich empfohlen)
  • Monitoring: Uptime Kuma (selbst gehostet) oder Healthchecks.io (kostenlos) für Ausfallwarnungen
  • Logs: docker compose logs --tail 200 vaultwarden
  • Audit: github.com/dani-garcia/vaultwarden für mögliche CVEs verfolgen

09 — Mehr zum Thema


Tutorial basierend auf Vaultwarden 1.31.x auf Raspberry Pi 4 (Debian 12) im Juni 2026. Verfahren anhand der offiziellen Vaultwarden-Dokumentation validiert.