RackDiff
Alle Guides

Vaultwarden installieren: Bitwarden-kompatiblen Server selbst hosten

Schritt für Schritt: Vaultwarden mit Docker Compose installieren, HTTPS über einen Reverse Proxy einrichten und die Bitwarden-Apps verbinden.

Dirk Hesse
14. Dezember 2025
9 Min. Lesezeit

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 öffnen

Schritt 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.de mit 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:

  1. Klicke 'Create Account'
  2. Wähle eine E-Mail und ein starkes Master-Passwort
  3. Erstelle den Account

WICHTIG: Solange SIGNUPS_ALLOWED=true gilt, 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 /admin ein, 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

  1. Installiere 'Bitwarden' aus dem Browser-Store
  2. Wähle auf dem Anmeldebildschirm im Auswahlfeld 'Logging in on' die Option 'Self-hosted'
  3. Trage unter 'Server URL' https://vault.deinedomain.de ein und speichere
  4. Einloggen

Mobile App

  1. Installiere 'Bitwarden' aus App Store bzw. Play Store
  2. Auf dem Anmeldebildschirm 'Logging in on' → 'Self-hosted' wählen
  3. Server URL: https://vault.deinedomain.de
  4. Einloggen

Desktop-App

  1. Lade die App von der Bitwarden-Website
  2. Auf dem Anmeldebildschirm im Auswahlfeld 'Accessing' die Option 'Self-hosted' wählen, Server URL eintragen und speichern
  3. 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.json und 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.json mit 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:

  1. Im Web-Tresor einloggen
  2. Einstellungen → Sicherheit → Zweistufige Anmeldung (laut Bitwarden-Hilfe, Stand: 08.11.2026)
  3. Zum Beispiel eine Authenticator-App einrichten
  4. 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=false gesetzt (laut Vaultwarden-Wiki, Stand: 08.11.2026).
  • Admin-Token absichern: Speichere den ADMIN_TOKEN als Argon2id-Hash, damit er nicht im Klartext lesbar ist; ohne ADMIN_TOKEN ist 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 = FORWARD in 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 Dateien rsa_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?
Mit docker compose pull und danach docker compose up -d. Lege vorher ein Backup an.
Was, wenn ich mein Master-Passwort vergesse?
Dann lässt sich der Zugang nicht wiederherstellen. Vorsorge: Notfallzugriff (Emergency Access) für eine Vertrauensperson einrichten.
Wie werden die Tresordaten verschlüsselt?
Die Bitwarden-Clients verschlüsseln den Tresor auf deinem Gerät (AES-CBC mit 256-Bit-Schlüsseln), bevor er an den Server geht; der Server speichert nur verschlüsselte Daten. Für Updates, HTTPS und Backups bist du selbst verantwortlich.

VPS für deinen Passwort-Manager gesucht?

Der VPS-Vergleich zeigt aktuelle Tarife mit Preisen inkl. USt, sortiert nach Preis.

VPS-Vergleich öffnen

Passender VPS-Rechner

Vaultwarden Self-Hosting: Die besten VPS 2026

Finde den perfekten Server für deinen Passwort-Manager

Zum VPS-Rechner

Verwandte Artikel