Vaultwarden: Einen eigenen Passwortmanager auf einem VPS installieren
Mit Vaultwarden können Sie Passwörter auf Ihrem eigenen Server speichern und zwischen Computer, Smartphone und Browser synchronisieren. Dabei verwenden Sie die offiziellen Anwendungen und Erweiterungen von Bitwarden und tragen dort die Adresse Ihres eigenen Servers ein.
Im Folgenden zeigen wir, welchen VPS Vaultwarden benötigt, wie Sie es unter Ubuntu mit Docker Compose starten, die offene Registrierung deaktivieren, HTTPS einrichten und Backups konfigurieren.
Vaultwarden in fünf Schritten
Der minimale Einrichtungsplan:
- Einen VPS mit Ubuntu erstellen und eine Subdomain darauf verweisen, zum Beispiel
vault.example.com. - Docker und Docker Compose installieren.
- Vaultwarden zusammen mit Caddy für automatisches HTTPS starten.
- Das erste Konto erstellen und die offene Registrierung deaktivieren.
- Zwei-Faktor-Authentifizierung, Updates und Backups aktivieren.
Für einen persönlichen Tresor oder eine kleine Familie reicht die integrierte SQLite-Datenbank aus. Ein separater PostgreSQL-Server ist normalerweise nicht erforderlich.
Was ist Vaultwarden
Vaultwarden ist eine inoffizielle Serverimplementierung der Bitwarden-API, die in Rust geschrieben und für den Self-hosted-Betrieb entwickelt wurde. Sie ist mit den offiziellen Bitwarden-Clients kompatibel: Weboberfläche, mobile und Desktop-Anwendungen, Browsererweiterungen und CLI.
Die Tresordaten werden auf dem Gerät des Benutzers verschlüsselt, bevor sie an den Server gesendet werden. Der VPS synchronisiert die verschlüsselte Datenbank, kennt das Master-Passwort jedoch nicht und kann es bei Verlust nicht wiederherstellen.
Vaultwarden ist kein offizielles Produkt von Bitwarden. Der Betreiber ist selbst für Updates, Verfügbarkeit, HTTPS, Backups und die Sicherheit des VPS verantwortlich.
Vaultwarden und Bitwarden: Wo liegt der Unterschied
| Parameter | Bitwarden Cloud | Vaultwarden |
|---|---|---|
| Server | Bitwarden-Infrastruktur | Ihr VPS oder Heimserver |
| Anwendungen | Bitwarden-Clients | Dieselben Clients im Self-hosted-Modus |
| Wartung | Wird vom Anbieter übernommen | Wird vom Betreiber übernommen |
| Kontrolle über Backups | Durch den Dienst eingeschränkt | Vollständig |
| Einrichtung | Kontoregistrierung | Domain, Docker und VPS-Konfiguration |
Vaultwarden eignet sich für Nutzer, die die Serverseite kontrollieren möchten und bereit sind, Linux zu aktualisieren und Backups zu überprüfen. Ein Cloud-Dienst ist praktischer, wenn Sie sich nicht mit der Administration beschäftigen möchten. Self-Hosting macht ein System nicht automatisch sicher, sondern überträgt die Verantwortung auf den Betreiber.
Serveranforderungen für Vaultwarden
Für die persönliche Nutzung ist folgende Startkonfiguration sinnvoll:
- 1 vCPU;
- 1–2 GB RAM;
- 10–20 GB SSD oder NVMe;
- Ubuntu 24.04 LTS;
- eine öffentliche IP-Adresse und eine Domain;
- geöffnete Ports 80 und 443.
Dies ist eine praktische Reserve für Ubuntu, Docker, Caddy und Updates und keine strikte Mindestanforderung des Projekts. Für Dutzende Benutzer, viele Anhänge oder mehrere Container sollten Sie mindestens 2 GB RAM wählen.
So installieren Sie Vaultwarden auf einem VPS
In diesem Beispiel werden Ubuntu 24.04 und die Subdomain vault.example.com verwendet. Ersetzen Sie sie in allen Dateien durch Ihre eigene Adresse.
1. DNS konfigurieren und Ubuntu vorbereiten
Erstellen Sie einen DNS-A-Eintrag, der auf die IPv4-Adresse des VPS verweist. Stellen Sie anschließend eine SSH-Verbindung her:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableSchließen Sie die aktuelle SSH-Sitzung erst, nachdem Sie überprüft haben, dass eine neue Verbindung funktioniert.
2. Docker und Docker Compose installieren
Fügen Sie das offizielle Docker-Repository hinzu:
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose version3. Konfiguration erstellen
mkdir -p /opt/vaultwarden
cd /opt/vaultwardenErstellen Sie compose.yaml:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
caddy:
image: caddy:2-alpine
container_name: vaultwarden-caddy
restart: unless-stopped
depends_on:
- vaultwarden
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/configErstellen Sie die Datei Caddyfile:
vault.example.com {
reverse_proxy vaultwarden:80
}Nach außen wird nur Caddy freigegeben. Der Vaultwarden-Container ist innerhalb des Docker-Netzwerks erreichbar, und die Daten werden unter /opt/vaultwarden/vw-data gespeichert. In der aktuellen Konfiguration ist kein separater Port für WebSocket erforderlich.
4. Vaultwarden starten
docker compose up -d
docker compose ps
docker compose logs --tail=100 caddyÖffnen Sie https://vault.example.com. Caddy bezieht automatisch ein TLS-Zertifikat, wenn DNS bereits auf den VPS verweist und die Ports 80 und 443 erreichbar sind. Falls die Website nicht geöffnet wird, prüfen Sie DNS, die Firewall und ob auf diesen Ports ein anderer Webserver läuft.
5. Konto erstellen und Registrierung schließen
Registrieren Sie das erste Konto. Verwenden Sie ein langes, einzigartiges Master-Passwort und bewahren Sie eine Notfallkopie außerhalb von Vaultwarden auf: Der Serveradministrator kann das Master-Passwort weder zurücksetzen noch wiederherstellen.
Ändern Sie nach der Registrierung in compose.yaml folgende Einstellung:
SIGNUPS_ALLOWED: "false"Wenden Sie die Einstellung an:
docker compose up -dNun können Außenstehende keine Konten mehr erstellen. Um einen neuen Benutzer hinzuzufügen, können Sie die Registrierung vorübergehend aktivieren oder Einladungen konfigurieren.
So verbinden Sie die Bitwarden-Anwendung
Ein separater Vaultwarden-Client muss nicht installiert werden. Wählen Sie auf dem Anmeldebildschirm der Bitwarden-Anwendung oder -Erweiterung Self-hosted und geben Sie Folgendes ein:
https://vault.example.comVerwenden Sie diese Adresse auf dem Computer, Smartphone und im Browser. Importieren Sie für die Migration einen Export aus Ihrem bisherigen Passwortmanager. Löschen Sie eine unverschlüsselte CSV- oder JSON-Datei unmittelbar nach der Übertragung und versenden Sie sie nicht per E-Mail oder über öffentliche Links.
Vaultwarden sicher konfigurieren
Führen Sie nach dem Start einige Maßnahmen durch:
- TOTP oder WebAuthn aktivieren und Wiederherstellungscodes separat aufbewahren;
SIGNUPS_ALLOWEDdeaktiviert lassen;- SSH-Schlüssel verwenden und Ubuntu regelmäßig aktualisieren;
- den internen Port des Vaultwarden-Containers nicht veröffentlichen;
- keine fragwürdigen Container auf demselben VPS ausführen;
- prüfen, ob sich die Backups wiederherstellen lassen.
Für einen persönlichen Tresor wird das /admin-Panel normalerweise nicht benötigt. Wenn Sie es aktivieren, verwenden Sie ein langes Token in Form eines Argon2-Hashes und beschränken Sie den Zugriff nach Möglichkeit per IP-Adresse oder VPN. Ein ADMIN_TOKEN im Klartext sollte nicht gespeichert werden.
Erstellen Sie vor einem Update ein Backup und führen Sie anschließend Folgendes aus:
cd /opt/vaultwarden
docker compose pull
docker compose up -dDer Server sollte regelmäßig aktualisiert werden: Bitwarden-Clients werden unabhängig veröffentlicht, sodass eine sehr alte Vaultwarden-Version die Kompatibilität mit ihnen verlieren kann.
Vaultwarden sichern
Die zentrale SQLite-Datenbank befindet sich unter vw-data/db.sqlite3, während Anhänge als separate Dateien gespeichert werden. Kopieren Sie eine laufende Datenbank nicht mit dem gewöhnlichen Befehl cp: Ein Schreibvorgang in diesem Moment kann die Kopie inkonsistent machen.
Erstellen Sie mit dem integrierten Befehl einen sicheren Snapshot:
docker exec vaultwarden /vaultwarden backupIm Datenverzeichnis erscheint eine separate Datei db_.sqlite3. Sichern Sie zusammen damit attachments, sends, gegebenenfalls die erstellte Datei config.json sowie die Dateien rsa_key.
Ein Backup auf demselben VPS schützt nicht vor dem Löschen des Servers oder einem Festplattenausfall. Übertragen Sie Kopien automatisch auf ein anderes Gerät oder in einen separaten Objektspeicher, möglichst mit zusätzlicher Verschlüsselung. Führen Sie regelmäßig eine testweise Wiederherstellung durch.
Welchen VPS Sie für Vaultwarden wählen sollten
Für einen persönlichen oder familiären Tresor reicht ein einfacher Linux-VPS mit 2 GB RAM aus. Diese Größe bietet Reserven für Ubuntu, Docker, Caddy, Updates und automatische Backups.
Vaultwarden lässt sich auf einem Einstiegs-VPS von tropic.host betreiben. Die Ressourcen können später erhöht werden, wenn weitere Self-hosted-Dienste auf dem Server hinzukommen. Für einen Passwortmanager sind ein stabiles Netzwerk, eine dauerhafte öffentliche Adresse und ein zuverlässiger Datenträger wichtiger als zusätzliche CPU-Kerne.
Auch ein Heimserver ist geeignet. Dann müssen Sie jedoch externen Zugriff, HTTPS, eine stabile Stromversorgung und die Wiederherstellung nach Ausfällen gewährleisten. Ein VPS ist in der Regel einfacher, wenn der Tresor aus jedem Netzwerk erreichbar sein soll.
Fazit
Vaultwarden ist ein praktischer Self-hosted-Passwortmanager für alle, die Bitwarden-Clients nutzen, die Serverseite aber auf der eigenen Infrastruktur betreiben möchten. Für den Start genügen ein kleiner VPS, eine Domain, Docker Compose und Caddy.
Die eigentliche Verantwortung beginnt nach der Installation: Registrierung deaktivieren, 2FA aktivieren, Container aktualisieren und geprüfte Backups außerhalb des Servers aufbewahren.
FAQ
Kann Vaultwarden ohne Domain installiert werden?
Technisch kann eine lokale Adresse verwendet werden, doch der Web-Tresor benötigt einen sicheren HTTPS-Kontext. Für den Zugriff von verschiedenen Geräten ist eine Domain mit TLS-Zertifikat einfacher.
Wie viel Arbeitsspeicher benötigt Vaultwarden?
Für einen oder mehrere Benutzer reicht normalerweise 1 GB RAM aus. Ein VPS mit 2 GB bietet eine komfortablere Reserve für das System, Docker, Caddy und Updates.
Funktioniert Vaultwarden mit der mobilen Bitwarden-App?
Ja. Wählen Sie auf dem Anmeldebildschirm einen Self-hosted-Server und geben Sie die vollständige HTTPS-Adresse Ihrer Vaultwarden-Instanz ein.
Was geschieht, wenn der VPS vorübergehend nicht erreichbar ist?
Bereits synchronisierte Daten verbleiben normalerweise im lokalen verschlüsselten Cache des Clients. Synchronisierung, Anmeldung auf einem neuen Gerät und der Empfang von Änderungen funktionieren jedoch erst wieder, wenn der Server verfügbar ist.
Kann ein vergessenes Master-Passwort über /admin wiederhergestellt werden?
Nein. Der Administrator kann den Server und die Konten verwalten, besitzt aber nicht den Entschlüsselungsschlüssel für den Tresor des Benutzers. Master-Passwort und Wiederherstellungscodes müssen separat aufbewahrt werden.
