Vaultwarden ist ein schlanker, Bitwarden-kompatibler Passwortserver. Sie nutzen die normalen Bitwarden-Apps und Browser-Erweiterungen, aber Ihr Tresor liegt auf einem Server, den Sie selbst kontrollieren. Er braucht sehr wenig Arbeitsspeicher, daher reicht ein kleiner VPS völlig aus. Weil er Ihre Passwörter enthält, sollten Sie ihn sorgfältig einrichten.
Bevor Sie beginnen
- Ein VPS mit Docker. Siehe Docker installieren.
- Eine Domain, die auf den Server zeigt. Siehe DNS-Einträge erklärt.
- Ein Plan zur Sicherung der Daten. Siehe VPS-Backups.
Weitere Hintergründe finden Sie auf unserer Seite zu selbst gehostetem Vaultwarden.
Schritt 1: Docker-Compose-Datei
mkdir -p ~/vaultwarden && cd ~/vaultwarden
cat > compose.yaml <<'EOF'
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true" # switch to false after you create your account
ADMIN_TOKEN: "${ADMIN_TOKEN}"
volumes:
- ./data:/data
ports:
- "127.0.0.1:8081:80"
EOF
Schritt 2: Admin-Token erzeugen
Über die Admin-Seite verwalten Sie Benutzer. Speichern Sie ein gehashtes Token, keinen Klartext. Das Vaultwarden-Image enthält dafür ein Hilfsprogramm:
docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
Schritt 3: Starten
docker compose up -d
docker compose logs -f
Schritt 4: HTTPS mit Caddy
Die Bitwarden-Clients setzen HTTPS voraus.
vault.example.com {
reverse_proxy 127.0.0.1:8081
}
Laden Sie Caddy neu und öffnen Sie die Website. Legen Sie Ihr Konto an, setzen Sie dann SIGNUPS_ALLOWED auf false und führen Sie docker compose up -d erneut aus, damit sich Fremde nicht registrieren können.
Schritt 5: Zwei-Faktor-Anmeldung aktivieren
Aktivieren Sie im Web-Tresor die zweistufige Anmeldung mit einer Authenticator-App oder einem Hardware-Schlüssel. Bewahren Sie den Wiederherstellungscode offline auf.
Den Tresor sichern
Alle Daten liegen in ./data, vor allem die SQLite-Datenbank und die Anhänge. Erstellen Sie regelmäßig eine konsistente Kopie und bewahren Sie sie außerhalb des Servers auf:
sqlite3 data/db.sqlite3 ".backup '/backup/vaultwarden-$(date +%F).sqlite3'"
tar czf /backup/vw-files-$(date +%F).tgz data/attachments data/rsa_key*
Testen Sie eine Wiederherstellung mindestens einmal. Ein Backup, das Sie nie getestet haben, ist nur eine Hoffnung.