Vaultwarden ist ein inoffizieller, Bitwarden-kompatibler Server, den du auf deinem eigenen VPS betreibst; die offiziellen Bitwarden-Apps verbinden sich dann mit deinem Server. Das Projekt ist nicht mit Bitwarden, Inc. verbunden (laut Vaultwarden-README, Stand: 08.11.2026).
Ein VPS (Virtual Private Server) ist ein virtueller Server in einem Rechenzentrum; aktuelle Preise inkl. USt zeigt der VPS-Vergleich. Vaultwarden setzt die Bitwarden-Client-API laut Projekt nahezu vollständig um, darunter Organisationen, Anhänge, Send und Emergency Access (laut Vaultwarden-README, Stand: 08.11.2026). Deine Tresordaten liegen dann auf deinem Server.
Voraussetzungen
Du brauchst:
- Einen VPS; aktuelle Tarife und Preise inkl. USt zeigt der VPS-Vergleich
- Eine Domain oder Subdomain (für HTTPS)
- SSH-Zugang zum Server
- Docker & Docker Compose installiert
Ressourcen: Das Projekt beschreibt Vaultwarden als Alternative zum ressourcenintensiven offiziellen Server (laut Vaultwarden-README, Stand: 08.11.2026); eine RAM-Angabe macht es nicht. Plane den Speicher weiterer Dienste auf demselben Server mit ein.
Anbieter im Überblick: Hetzner, Netcup und IONOS; die Preise stehen im VPS-Vergleich.
Server für Vaultwarden gesucht?
Der VPS-Vergleich zeigt aktuelle Tarife mit Preisen inkl. USt, sortiert nach Preis.
VPS-Vergleich öffnenSchritt 1: Docker Compose Datei erstellen
Erstelle einen Ordner:
mkdir -p ~/vaultwarden && cd ~/vaultwarden
Das Admin-Token speicherst du als Argon2id-Hash, nicht im Klartext. Den Hash erzeugt Vaultwarden selbst; du gibst dabei ein Passwort ein (laut Vaultwarden-Wiki, Stand: 08.11.2026):
docker run --rm -it vaultwarden/server /vaultwarden hash
docker-compose.yml (Image laut Vaultwarden-Wiki, Stand: 08.11.2026):
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
volumes:
- ./data:/data
environment:
- DOMAIN=https://vault.deinedomain.de
- SIGNUPS_ALLOWED=true # Nach dem ersten Account auf false setzen!
- ADMIN_TOKEN=$$argon2id$$v=19$$m=65540,t=3,p=4$$... # dein Hash, jedes $ verdoppelt
ports:
- 127.0.0.1:8080:80
Das Top-Level-Feld version lässt du weg; es ist obsolet (laut Docker-Doku, Stand: 08.11.2026). In der Compose-Datei verdoppelst du jedes $ im Hash, sonst wertet Compose es als Variable aus.
Wichtig: Ersetze
vault.deinedomain.demit deiner echten Domain!
Schritt 2: Vaultwarden starten
Container starten:
docker compose up -d
Status prüfen:
docker compose logs -f
# Die Logs sollten keine Fehlermeldungen zeigen; beenden mit Strg+C
Vaultwarden ist jetzt nur lokal auf Port 8080 erreichbar; das README-Beispiel bindet ebenfalls an 127.0.0.1 (laut Vaultwarden-README, Stand: 08.11.2026). Ohne HTTPS funktioniert der Web-Tresor nicht, weil er Web-Crypto-Funktionen nutzt, die Browser nur über HTTPS bereitstellen (laut Vaultwarden-Wiki, Stand: 08.11.2026). Also weiter zum nächsten Schritt.
Schritt 3: HTTPS mit Caddy einrichten
Das Projekt empfiehlt einen Reverse Proxy, der HTTPS übernimmt, und zeigt ein Beispiel mit Caddy (laut Vaultwarden-Wiki, Stand: 08.11.2026). Erweitere deine docker-compose.yml:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
volumes:
- ./data:/data
environment:
- DOMAIN=https://vault.deinedomain.de
- SIGNUPS_ALLOWED=true
- ADMIN_TOKEN=$$argon2id$$... # dein Hash
# Ports entfernt - Caddy übernimmt
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 80:80
- 443:443
- 443:443/udp
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-config:/config
- ./caddy-data:/data
Caddyfile erstellen:
vault.deinedomain.de {
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}
X-Real-IP gibt die echte Client-IP an Vaultwarden weiter, sonst sieht das Log nur die Proxy-IP (laut Vaultwarden-Wiki, Stand: 08.11.2026).
Neu starten:
docker compose down
docker compose up -d
Tipp: Caddy holt automatisch ein TLS-Zertifikat. Dafür muss deine Domain per A- oder AAAA-Eintrag auf den Server zeigen, Port 80 und 443 müssen von außen erreichbar sein (laut Caddy-Doku, Stand: 08.11.2026).
Schritt 4: Ersten Account erstellen
Öffne https://vault.deinedomain.de im Browser:
- Klicke 'Create Account'
- Wähle eine E-Mail und ein starkes Master-Passwort
- Erstelle den Account
WICHTIG: Solange
SIGNUPS_ALLOWED=truegilt, kann sich jeder registrieren, der deine Instanz erreicht (laut Vaultwarden-Wiki, Stand: 08.11.2026).
Schritt 5: Registrierung deaktivieren
Damit sich niemand anders registrieren kann:
In docker-compose.yml ändern:
- SIGNUPS_ALLOWED=false
Container neu starten:
docker compose up -d
Tipp: Weitere Nutzer lädst du danach über die Admin-Seite unter
/adminein, auch bei deaktivierter Registrierung. Dort meldest du dich mit dem Passwort an, das du beim Hashen eingegeben hast, nicht mit dem Hash (laut Vaultwarden-Wiki, Stand: 08.11.2026).
Schritt 6: Apps konfigurieren
Jetzt verbindest du die offiziellen Bitwarden-Apps mit deinem Server (laut Bitwarden-Hilfe, Stand: 08.11.2026):
Browser-Erweiterung
- Installiere 'Bitwarden' aus dem Browser-Store
- Wähle auf dem Anmeldebildschirm im Auswahlfeld 'Logging in on' die Option 'Self-hosted'
- Trage unter 'Server URL'
https://vault.deinedomain.deein und speichere - Einloggen
Mobile App
- Installiere 'Bitwarden' aus App Store bzw. Play Store
- Auf dem Anmeldebildschirm 'Logging in on' → 'Self-hosted' wählen
- Server URL:
https://vault.deinedomain.de - Einloggen
Desktop-App
- Lade die App von der Bitwarden-Website
- Auf dem Anmeldebildschirm im Auswahlfeld 'Accessing' die Option 'Self-hosted' wählen, Server URL eintragen und speichern
- Einloggen
Schritt 7: Admin-Panel erkunden
Vaultwarden hat ein Admin-Panel unter /admin:
https://vault.deinedomain.de/admin
→ Passwort = das Passwort, das du beim Erzeugen des Hashes eingegeben hast
Funktionen der Admin-Seite (laut Vaultwarden-Wiki, Stand: 08.11.2026):
- Einstellungen ändern
- Neue Nutzer einladen (auch bei deaktivierter Registrierung)
- Nutzer verwalten: Zwei-Faktor-Anmeldung entfernen, Sitzungen abmelden, deaktivieren, löschen
- Organisationen löschen
- Diagnose-Seite
Achtung: Was du in der Admin-Seite speicherst, landet in
config.jsonund hat Vorrang vor den Umgebungsvariablen (laut Vaultwarden-Wiki, Stand: 08.11.2026). Nutze die Admin-Seite nur aus vertrauenswürdigen Netzen oder sichere sie zusätzlich ab (IP-Freigabe, VPN).
Schritt 8: Backup einrichten
Richte automatische Backups ein. Eine Dateikopie der SQLite-Datenbank ist nur sicher, wenn die Datenbank gerade nicht in Benutzung ist (laut Vaultwarden-Wiki, Stand: 08.11.2026). Das Script stoppt Vaultwarden deshalb kurz:
#!/bin/bash
# backup-vaultwarden.sh
BACKUP_DIR="/backup/vaultwarden"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
cd ~/vaultwarden
docker compose stop vaultwarden
tar -czf $BACKUP_DIR/vaultwarden-$DATE.tar.gz data
docker compose start vaultwarden
# Alte Backups löschen (behalte 30 Tage)
find $BACKUP_DIR -type f -mtime +30 -delete
echo "Backup completed: vaultwarden-$DATE.tar.gz"
Cronjob einrichten (täglich 3 Uhr):
chmod +x backup-vaultwarden.sh
crontab -e
# Zeile hinzufügen (Pfad anpassen, wenn du nicht als root arbeitest):
0 3 * * * /root/backup-vaultwarden.sh
Tipp: Das Archiv enthält
config.jsonmit Secrets im Klartext. Verschlüssele es, etwa mit restic oder borgbackup, und übertrage es zusätzlich an einen zweiten Standort.
Aktualisieren kannst du mit docker compose pull und danach docker compose up -d (laut Vaultwarden-Wiki, Stand: 08.11.2026). Lege vorher ein Backup an.
Schritt 9: Zweistufige Anmeldung für dein Konto
Schütze dein Konto zusätzlich zum Master-Passwort:
- Im Web-Tresor einloggen
- Einstellungen → Sicherheit → Zweistufige Anmeldung (laut Bitwarden-Hilfe, Stand: 08.11.2026)
- Zum Beispiel eine Authenticator-App einrichten
- Recovery Codes sicher aufbewahren
Vaultwarden unterstützt dafür Authenticator-App, E-Mail, FIDO2 WebAuthn, YubiKey und Duo (laut Vaultwarden-README, Stand: 08.11.2026).
Von anderen Passwort-Managern migrieren
Den Import findest du im Web-Tresor unter Tools → Import. Welche Exportformate je Passwort-Manager unterstützt werden, steht in der Bitwarden-Hilfe (laut Bitwarden-Hilfe, Stand: 08.11.2026).
Exportdateien sind oft unverschlüsselt. Lösche die Datei nach dem Import.
Vaultwarden vs. kommerzielle Passwort-Manager
Vaultwarden ist eine alternative, in Rust geschriebene Server-Implementierung der Bitwarden-Client-API, kompatibel mit den offiziellen Bitwarden-Clients und nicht mit Bitwarden, Inc. verbunden (laut Vaultwarden-README, Stand: 08.11.2026). Der Unterschied: Du betreibst den Server selbst.
Die Bitwarden-Clients verschlüsseln den Tresor auf deinem Gerät mit AES-CBC und 256-Bit-Schlüsseln, bevor er an den Server geht (laut Bitwarden-Hilfe, Stand: 08.11.2026). Der Server speichert nur verschlüsselte Daten.
Wer keinen Server betreiben will, nutzt einen gehosteten Dienst. Wer selbst hostet, übernimmt Updates, Backups und Absicherung.
Sicherheit härten
Ein Passwort-Manager enthält die Zugänge zu vielen Diensten. Über die Basis-Einrichtung hinaus solltest du:
- Argon2id als KDF nutzen: Im Web-Tresor unter Einstellungen → Sicherheit → Schlüssel kannst du die Schlüsselableitung von PBKDF2 auf Argon2id umstellen (laut Bitwarden-Hilfe, Stand: 08.11.2026).
- Registrierung geschlossen halten: Nach dem Anlegen deiner Accounts bleibt
SIGNUPS_ALLOWED=falsegesetzt (laut Vaultwarden-Wiki, Stand: 08.11.2026). - Admin-Token absichern: Speichere den
ADMIN_TOKENals Argon2id-Hash, damit er nicht im Klartext lesbar ist; ohneADMIN_TOKENist die Admin-Seite deaktiviert (laut Vaultwarden-Wiki, Stand: 08.11.2026). - Fail2Ban einrichten: Fail2Ban wertet fehlgeschlagene Logins aus der Log-Datei oder dem systemd-Journal aus und sperrt die IPs; bei Docker gehört
chain = FORWARDin die Jail (laut Vaultwarden-Wiki, Stand: 08.11.2026). - Verschlüsselte Backups: Zu sichern sind die SQLite-Datenbank, der Ordner
attachments,config.json(enthält Secrets im Klartext) und die Dateienrsa_key*, verschlüsselt an einen zweiten Standort (laut Vaultwarden-Wiki, Stand: 08.11.2026).
Vergisst du dein Master-Passwort, lässt sich der Zugang nicht wiederherstellen (laut Bitwarden-Hilfe, Stand: 08.11.2026). Vorsorge ist Emergency Access für eine Vertrauensperson.
Organisationen & geteilte Tresore
Vaultwarden unterstützt Organisationen mit Collections, Benutzerrollen und Gruppen (laut Vaultwarden-README, Stand: 08.11.2026), etwa für Familien oder kleine Teams. Statt Passwörter per Hand weiterzugeben, legst du eine Organisation an und teilst einzelne Sammlungen („Collections“) gezielt mit bestimmten Personen.
So gibst du zum Beispiel deiner Partnerin oder deinem Partner Zugriff auf die Sammlung „Haushalt“ (Streaming, Online-Shops, Versorger), während die Sammlung „Arbeit“ privat bleibt. Jede Person hat ihr eigenes Master-Passwort und ihren eigenen Login. Scheidet jemand aus, entziehst du ihr den Zugriff auf die Sammlung. Passwörter, die sie bereits einsehen konnte, solltest du trotzdem ändern.
Laut README unterstützt Vaultwarden unter anderem Collections, Benutzerrollen, Gruppen, Richtlinien und Emergency Access; die Umsetzung der Client-API beschreibt das Projekt als nahezu vollständig (laut Vaultwarden-README, Stand: 08.11.2026).
Fazit
Du betreibst jetzt einen Bitwarden-kompatiblen Server selbst; Updates, Backups und Absicherung liegen bei dir.
Auf demselben VPS kannst du weitere Dienste betreiben, etwa Immich für Fotos, Paperless für Dokumente oder dein eigenes VPN. Aktuelle Preise inkl. USt zeigt der VPS-Vergleich.
Häufig gestellte Fragen
Wie aktualisiere ich Vaultwarden?
Was, wenn ich mein Master-Passwort vergesse?
Wie werden die Tresordaten verschlüsselt?
Weitere Self-Hosting Guides
VPS für deinen Passwort-Manager gesucht?
Der VPS-Vergleich zeigt aktuelle Tarife mit Preisen inkl. USt, sortiert nach Preis.
VPS-Vergleich öffnen




