Vaultwarden: Bitwarden-Server selbst hosten – warum & wie
Inhaltsverzeichnis:
Passwörter gehören zu den sensibelsten Daten im digitalen Alltag. Wer sie einem Cloud-Dienst anvertraut, gibt ein Stück Kontrolle ab – und das bleibt ein Restrisiko, egal wie gut die Verschlüsselung ist. Mit Vaultwarden existiert eine elegante Alternative: eine schlanke, ressourcenschonende Serverimplementierung, die vollständig auf der eigenen Hardware läuft und trotzdem alle Komfortfunktionen eines modernen Passwortmanagers bietet.
Ursprünglich unter dem Namen bitwarden_rs bekannt, wurde das Projekt 2021 in Vaultwarden umbenannt. Seitdem hat es sich zur beliebtesten Self-Hosting-Lösung für Passwortverwaltung in der Linux-Community entwickelt. Dieser Artikel erklärt, was Vaultwarden ausmacht, warum es sich lohnt, den eigenen Server zu betreiben, und wie die Einrichtung Schritt für Schritt gelingt.
Was Vaultwarden ist – und was es nicht ist
Vaultwarden ist eine inoffizielle, aber vollständig kompatible Implementierung der Bitwarden-Server-API, geschrieben in der Programmiersprache Rust. Es handelt sich um ein Open-Source-Projekt, das unabhängig von Bitwarden, Inc. entwickelt und gepflegt wird – und genau darin liegt ein wichtiger Unterschied. Wer Vaultwarden betreibt, ist selbst für Updates, Backups und Sicherheit verantwortlich, genießt dafür aber vollständige Autonomie über seine Daten.
Trotz seiner inoffiziellen Natur funktioniert Vaultwarden mit allen offiziellen Bitwarden-Clients reibungslos zusammen: Browser-Erweiterungen für Chrome, Firefox und Edge, Desktop-Apps für Windows, macOS und Linux sowie mobile Apps für Android und iOS lassen sich nahtlos verbinden. Im Alltag merkt man keinen Unterschied zur gehosteten Bitwarden-Variante – der Umstieg ist damit für Bestandsnutzer kaum spürbar.
Die Vorteile des Selbst-Hostings auf einem Blick
Der offensichtlichste Vorteil liegt in der Datensouveränität: Passwörter, sichere Notizen und Kreditkarteninformationen verbleiben ausschließlich auf dem eigenen Server. Kein Drittanbieter – auch keiner mit Servern in den USA – erhält Einblick in den verschlüsselten Tresor, weil es schlicht keinen gibt, der dazwischengeschaltet ist. Für Einzelpersonen, Familien und kleine Teams mit erhöhten Datenschutzanforderungen ist das ein gewichtiges Argument.
Hinzu kommt die wirtschaftliche Seite: Kommerzielle Passwortmanager haben in den vergangenen Jahren ihre Preise teils deutlich angehoben. Vaultwarden ist als Free and Open Source Software (FOSS) kostenlos – es fallen lediglich Serverkosten an, die bei einem kleinen VPS oder einem Heimserver oft im einstelligen Euro-Bereich pro Monat liegen. Wer ohnehin ein NAS oder einen Heimserver betreibt, zahlt unter Umständen gar nichts extra.
Voraussetzungen für die Installation
Vor dem ersten Befehl im Terminal braucht es ein paar Grundlagen. Ein Linux-Server mit mindestens 1 GB RAM bildet die Basis – ein kleiner VPS, ein Raspberry Pi oder ein NAS-System wie eine Synology reichen vollständig aus. Docker und Docker Compose müssen auf dem Zielsystem installiert sein, da Vaultwarden als Docker-Image bereitgestellt wird und alle benötigten Abhängigkeiten mitbringt. Eine eigene Domain oder Subdomain, die per DNS-Eintrag auf die Server-IP zeigt, ist ebenfalls Pflicht.

Außerdem benötigt man einen Reverse Proxy – empfehlenswert sind Caddy, Nginx Proxy Manager oder Traefik. Bitwarden-Clients setzen zwingend HTTPS-Verbindungen voraus, was bedeutet: Ein gültiges SSL-Zertifikat muss vorhanden sein. Caddy übernimmt die Zertifikatsverwaltung über Let’s Encrypt vollautomatisch, was den Einstieg erheblich vereinfacht. Wer ein Synology-NAS nutzt, findet den Reverse-Proxy-Eintrag direkt unter „Anmeldeportal → Erweitert“ in der DSM-Oberfläche.
Die Installation mit Docker Compose
Das Herzstück der Einrichtung ist eine docker-compose.yml-Datei. In einem neuen Verzeichnis – zum Beispiel ~/vaultwarden – legt man diese Datei an und definiert darin den Container mit seinen Umgebungsvariablen. Wichtig ist, einen spezifischen Image-Tag statt latest zu verwenden, etwa vaultwarden/server:1.33.2 – das verhindert unerwartete Updates und erleichtert kontrollierte Upgrades. Die Variable DOMAIN muss mit der vollständigen HTTPS-URL befüllt werden, unter der Vaultwarden erreichbar sein soll, damit die Clients korrekt kommunizieren.
Nach dem Start mit docker compose up -d läuft der Container im Hintergrund. Ein gemeinsames Docker-Netzwerk verbindet ihn mit dem Reverse Proxy, sodass kein Port direkt nach außen exponiert werden muss. Das Datenverzeichnis vw-data enthält die verschlüsselte SQLite-Datenbank, Anhänge und alle Einstellungen – es sollte regelmäßig gesichert werden. Mit der richtigen DNS-Konfiguration ist Vaultwarden nach wenigen Minuten über die eigene Domain erreichbar.
Sicherheit: Mehr als nur HTTPS
HTTPS allein reicht nicht aus, um eine öffentlich erreichbare Vaultwarden-Instanz ausreichend abzusichern. Fail2Ban gehört zur Pflichtausstattung: Das Tool überwacht die Log-Dateien von Vaultwarden und sperrt IP-Adressen automatisch, die wiederholt fehlerhafte Anmeldeversuche unternehmen. Eine bewährte Konfiguration setzt maxretry = 3 und eine bantime von vier Stunden, was Brute-Force-Angriffe zuverlässig abwehrt. Fail2Ban lässt sich ebenfalls als Docker-Container betreiben, was die Integration vereinfacht.

Neben Fail2Ban empfiehlt sich die Aktivierung der Zwei-Faktor-Authentifizierung (2FA) für alle Benutzerkonten – Vaultwarden unterstützt TOTP-Apps wie Authy oder Google Authenticator sowie Yubikeys. Die öffentliche Registrierung neuer Benutzer sollte im Admin-Panel deaktiviert werden, sobald alle Konten angelegt sind. Den Admin-Token selbst schützt man am besten mit einem Argon2-Hash, anstatt ihn im Klartext in der Konfigurationsdatei zu hinterlegen – das reduziert das Risiko bei einem unbefugten Zugriff auf die Umgebungsvariablen erheblich.
Backups und laufende Wartung
Ein selbst gehosteter Passwortmanager ist nur so zuverlässig wie seine Backup-Strategie. Die bewährte 3-2-1-Regel gilt auch hier: drei Kopien der Daten, auf zwei verschiedenen Medien, davon eine außerhalb des eigenen Netzwerks. Vor dem Backup des Datenverzeichnisses sollte man den Container kurz stoppen, um die SQLite-Datenbank in einem konsistenten Zustand zu sichern – ein halbgeschriebener Datenbankstand lässt sich im Ernstfall nicht wiederherstellen. Tools wie vaultwarden-backup von ttionya automatisieren diesen Prozess und legen Snapshots an konfigurierbaren Intervallen ab.
Updates holt man sich durch den Austausch des Docker-Images: Den Container stoppen, das neue Image ziehen und neu starten – fertig. Es empfiehlt sich, dabei im GitHub-Repository von Vaultwarden die Release Notes zu lesen, bevor ein Major-Update eingespielt wird. Die Überwachung der Serverressourcen und der Log-Dateien hilft dabei, Probleme frühzeitig zu erkennen. Mit dieser Routine läuft eine Vaultwarden-Instanz stabil und sicher – ohne großen Zeitaufwand pro Woche.
Fazit zu Vaultwarden als selbst gehostetem Bitwarden-Server
