- Leichtgewichtige Implementierung in Rust, vollständig kompatibel mit offiziellen Bitwarden-Clients.
- Vereinfachte Bereitstellung durch Docker-Container für vollständige Kontrolle der Privatsphäre.
- Ideale minimale Hardwareanforderungen für einfache Server oder Raspberry Pi.
Mit Vaultwarden können Sie einen mit Bitwarden-Clients kompatiblen Passwortmanager auf Ihrem eigenen Server hosten. So können Sie selbst entscheiden, wo die Informationen gespeichert werden, wer Zugriff auf den Dienst hat und wie Backups erstellt werden.
Es ist wichtig, von Anfang an klarzustellen, dass Vaultwarden ist nicht der offizielle Bitwarden-Server.Es handelt sich um eine unabhängige, von der Community entwickelte Implementierung in Rust, die einen Großteil der Bitwarden-API nachbildet. Daher ist sie mit den offiziellen mobilen Apps, Desktop-Programmen und Erweiterungen von Bitwarden kompatibel.
Das Selbsthosting des Dienstes bietet mehr Kontrolle, aber Es garantiert nicht automatisch mehr Sicherheit.Ab diesem Zeitpunkt sind Sie verantwortlich für die Installation von Updates, die Sicherung des Zugriffs, die Überprüfung von Protokollen, die Aufrechterhaltung von HTTPS und die Gewährleistung, dass Backups wiederhergestellt werden können.
Was Sie für die Installation von Vaultwarden mit Docker benötigen

Bevor Sie beginnen, benötigen Sie ein Docker-kompatibles System, das eingeschaltet bleibt, wenn Sie Passwörter synchronisieren möchten. Dies kann ein Linux-Server, ein NAS, ein Mini-PC oder ein Raspberry Pi mit einer vom Image unterstützten Architektur sein.
Sie benötigen außerdem:
- Docker Engine Installiert und funktionsfähig.
- Das aktuelle Add-on von Docker Compose.
- Ein Ordner, in dem die Daten dauerhaft gespeichert werden können.
- Zugriff auf ein Terminal mit Berechtigungen zur Verwaltung von Docker.
- Eine sichere Zugriffsmethode, falls Sie den Dienst von anderen Geräten aus nutzen werden.
Es gibt keine einheitlichen Speicher- oder Speicherplatzanforderungen für alle Installationen. Der Verbrauch hängt von der Anzahl der Benutzer, den Anhängen, der Speicherkapazität und anderen Diensten ab, die auf demselben Computer ausgeführt werden. Für den Heimgebrauch ist es in der Regel eine ressourcenschonende Anwendung, dennoch sollten Sie ausreichend Speicherplatz einplanen. die Daten und ihre Sicherungskopien.
Überprüfen Sie die Installation mit folgendem Werkzeug:
docker --version
docker compose version
Wenn beide Befehle eine Versionsnummer anzeigen, können Sie fortfahren.
So installieren Sie Vaultwarden mit Docker Compose
Erstellen Sie einen separaten Ordner und öffnen Sie diesen:
mkdir vaultwarden
cd vaultwarden
Erstellen Sie innerhalb des Ordners eine Datei mit dem Namen compose.yml mit dieser Ausgangskonfiguration:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"
Die Versammlung ./vw-data:/data Es ist unerlässlich. Der Ordner /data Dieser Ordner enthält die Datenbank, Anhänge, Konfigurationen und Schlüssel, die vom Server verwendet werden. Wenn Sie den Container löschen, ohne diesen Ordner zu sichern, gehen die gespeicherten Informationen verloren.
Die Adresse 127.0.0.1 Diese Erstinstallation reagiert nur auf dem Server selbst. Sie eignet sich für Tests von Vaultwarden, ohne den Port bereits im Netzwerk freizugeben.
Starten Sie den Container:
docker compose up -d
Überprüfen Sie den Status:
docker compose ps
docker compose logs --tail=100 vaultwarden
Vom selben Gerät aus können Sie Folgendes öffnen:
http://localhost:8080
Zugang über localhost Dies dient der Ersteinrichtung. Um von einem anderen Computer, einer mobilen App oder einer Nebenstelle aus eine Verbindung herzustellen, müssen Sie eine sichere Adresse mit HTTPS einrichten.
So erstellen Sie Ihr erstes Konto und schließen die Registrierung ab
Öffnen Sie die Weboberfläche, erstellen Sie Ihr erstes Konto und überprüfen Sie, ob Sie sich anmelden können. Verwenden Sie ein langes, einzigartiges und leicht zu merkendes Master-Passwortda es den Zugang zum gesamten Lagerhaus schützt.
Nachdem die erforderlichen Konten erstellt wurden, bearbeiten Sie compose.yml und Änderungen:
SIGNUPS_ALLOWED: "true"
von:
SIGNUPS_ALLOWED: "false"
Wenden Sie die Änderung an, indem Sie den Container neu erstellen:
docker compose up -d
Vaultwarden erlaubt standardmäßig anonymen Nutzern die Erstellung von Konten. Eine unnötig offene Registrierung erleichtert es Dritten, Speicherplatz zu belegen oder Ihren Server ohne Erlaubnis zu nutzen.
Wenn Sie später das Administrationspanel aktivieren, können Sie auch dann Einladungen versenden, wenn die öffentliche Registrierung deaktiviert ist.
Warum Vaultwarden HTTPS benötigt
Der Webshop nutzt die Web Crypto API des Browsers. Diese kryptografischen Funktionen sind typischerweise nur in [hier fehlende Angabe einfügen] verfügbar. sichere Kontexte, wie z. B. HTTPS oder localhost.
Aus diesem Grund wird die Öffnung http://192.168.1.50:8080 Von einem anderen Computer aus können Fehler angezeigt werden, selbst wenn der Container ausgeführt wird. Die Veröffentlichung des Ports im Netzwerk ersetzt nicht die HTTPS-Konfiguration.
Es gibt drei gängige Arten, Vaultwarden zu verwenden:
- Nur für Server: Zugang über
localhost, nützlich zum Testen. - In einem privaten Netzwerk oder VPN: Eingeschränkter Zugriff, aber Aufrechterhaltung eines gültigen HTTPS-Zertifikats.
- Aus dem Internet: Domain, Reverse-Proxy, gültiges Zertifikat und korrekt konfigurierte Firewall.
Sie müssen Vaultwarden nicht öffentlich zugänglich machen, um es außerhalb Ihres Heimnetzwerks zu nutzen. Ein VPN kann den Zugriff auf Ihre autorisierten Geräte beschränken, aber die von den Clients verwendete Adresse muss dennoch über ein anerkanntes Zertifikat verfügen.
So konfigurieren Sie HTTPS mit Caddy
Caddy ist eine der einfachsten Optionen, da es Zertifikate automatisch über ACME anfordern und erneuern kann. Um ein öffentliches Zertifikat zu verwenden, muss die Domain auf Ihren Server verweisen und die erforderlichen Ports müssen erreichbar sein.
Eine gemeinsame Vaultwarden- und Caddy-Konfiguration kann diese Datei verwenden. compose.yml:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "false"
volumes:
- ./vw-data:/data
caddy:
image: caddy:2
container_name: vaultwarden-caddy
restart: unless-stopped
depends_on:
- vaultwarden
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/config
Ersetzt vault.example.com für Ihre eigentliche Domain. Erstellen Sie dann eine Datei mit dem Namen Caddyfile:
vault.example.com {
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}
Dienste aktivieren:
docker compose up -d
Caddy sendet Anfragen an den Container über das von Compose erstellte interne Netzwerk. Die aktuelle Konfiguration kann auch WebSocket-Benachrichtigungen über dasselbe Ziel verarbeiten, sodass kein weiterer Vaultwarden-Port veröffentlicht werden muss.
Die Variable DOMAIN muss die genaue externe URL enthalten, einschließlich https://Eine falsche Adresse kann Probleme mit Anhängen, Links, der Authentifizierung oder Clients verursachen.
So verbinden Sie die offiziellen Bitwarden-Apps
Öffnen Sie auf dem Anmeldebildschirm der Erweiterung, in der mobilen App oder im Desktop-Programm die Serverauswahl und wählen Sie die Option aus. Selbstgehostet.
Geben Sie die vollständige Adresse ein:
https://vault.example.com
Speichern Sie die Einstellungen vor dem Anmelden. Jeder Client muss mit demselben Server verbunden sein, damit Änderungen korrekt synchronisiert werden.
Wenn Sie ein Zertifikat einer privaten Zertifizierungsstelle verwenden, müssen Sie diese auf allen Geräten ordnungsgemäß installieren und als vertrauenswürdig einstufen. Um Kompatibilitätsprobleme zu vermeiden, empfiehlt sich die Verwendung eines gültigen öffentlichen Zertifikats oder einer privaten Lösung, deren Vertrauenskette Sie vollständig kontrollieren können.
Sobald der Client verbunden ist, können Sie Chrome-Passwörter in Vaultwarden importieren und überprüfen Sie, ob sie auf all Ihren Geräten angezeigt werden.
Wie man das Administrationspanel schützt
Vaultwarden bietet ein optionales Bedienfeld an. /adminVon dort aus können Sie Benutzer, Organisationen, Diagnosen und bestimmte Serveroptionen einsehen.
Wenn Sie das Panel nicht benötigen, ist die sicherste Vorgehensweise folgende: Deaktivieren lassenUm diese Funktion zu aktivieren, müssen Sie sie konfigurieren. ADMIN_TOKENAnstatt das Passwort im Klartext zu speichern, generiert es einen Argon2id-Hash:
docker run --rm -it vaultwarden/server /vaultwarden hash
Der Befehl fordert das Passwort zweimal an und gibt eine Zeichenkette zurück, die mit einem $argon2id$.
Eine bequeme Möglichkeit, Probleme mit Dollarzeichen zu vermeiden, besteht darin, es in einer Datei zu speichern. .env befindet sich neben compose.yml:
VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=...'
Fügen Sie dann Folgendes zum Dienst hinzu:
environment:
ADMIN_TOKEN: "${VAULTWARDEN_ADMIN_TOKEN}"
Wenn Sie den Hash direkt in compose.ymlSie müssen jedes Dollarzeichen verdoppeln als $$ um zu verhindern, dass Docker Compose versucht, es als Variable zu interpretieren.
Überprüfen Sie die verarbeitete Konfiguration mit folgendem Werkzeug:
docker compose config
Das Bedienfeld sollte ausschließlich über HTTPS erreichbar sein. Beschränken Sie den Zugriff nach Möglichkeit auf das lokale Netzwerk, ein VPN oder bestimmte IP-Adressen.
Bitte beachten Sie, dass nach dem Speichern der Optionen von /adminVaultwarden erschafft config.jsonSeine Werte haben Vorrang vor entsprechenden Umgebungsvariablen. Dieser Vorrang erklärt viele Fälle, in denen eine Bearbeitung von Compose scheinbar keine Änderung bewirkt.
Wesentliche Maßnahmen zum Schutz des Tresorwächters
Die Sicherheit endet nicht mit der Aktivierung von HTTPS. Wenden Sie mindestens die folgenden Maßnahmen an:
- Deaktivieren Sie die offene Registrierung mithilfe von
SIGNUPS_ALLOWED=false. - Verwenden Sie ein einzigartiges und sicheres Masterpasswort.
- Aktiv Zwei-Faktor-Authentifizierung in jeder Hinsicht.
- Bewahren Sie den Authentifizierungswiederherstellungscode an einem anderen sicheren Ort auf.
- Aktualisieren Sie regelmäßig das Image und das Hostsystem.
- Binden Sie keine unnötigen Ordner oder den Docker-Socket innerhalb des Containers ein.
- Beschränken Sie mithilfe der Firewall die Anzahl der wirklich notwendigen Ports.
- Die Datenbank und den Ordner dürfen nicht öffentlich zugänglich gemacht werden.
vw-data.
Fail2ban kann Adressen blockieren, die viele fehlgeschlagene Anmeldeversuche aufweisen. Bei Verwendung eines Reverse-Proxys muss es jedoch sorgfältig konfiguriert werden. Caddy oder Nginx müssen die tatsächliche IP-Adresse übermitteln; andernfalls könnte Fail2ban die Adresse des Proxys selbst blockieren.
Sie können auch die Anzeige von Passwort-Hinweisen deaktivieren. Diese Hinweise können das Erraten des Passworts erleichtern, wenn der Server öffentlich zugänglich ist.
Um mehr über diese Praktiken zu erfahren, können Sie nachlesen, wie Passwortmanager sicher verwenden.
So richten Sie E-Mail-Benachrichtigungen ein
Die SMTP-Konfiguration ermöglicht das Versenden von Einladungen, Bestätigungen und Benachrichtigungen. Sie müssen Server, Absender, Port, Sicherheitsmethode und die von Ihrem E-Mail-Dienst bereitgestellten Zugangsdaten angeben.
Verwechseln Sie SMTP-E-Mails nicht mit einer Datensicherung. Sie sollten sich auch nicht ausschließlich darauf verlassen, um Ihr Konto wiederherzustellen. Wenn Sie Ihr Master-Passwort vergessen und keine andere Wiederherstellungsmethode eingerichtet haben, könnten Sie den Zugriff auf Ihre verschlüsselten Daten verlieren.
Nachdem Sie die Einstellungen gespeichert haben, senden Sie eine Testnachricht und prüfen Sie die Protokolle, falls diese nicht ankommt. Überprüfen Sie außerdem Ihre Spam-Ordner und die Einschränkungen Ihres SMTP-Anbieters.
Wie man ein vollständiges Backup von Vaultwarden erstellt
Die SQLite-Datenbank speichert Benutzer, Artikel, Geräte und Organisationen, aber Es enthält nicht alle DateienAnhänge und bestimmte Einsendungen werden in separaten Verzeichnissen gespeichert.
Eine vollständige Kopie sollte Folgendes enthalten:
db.sqlite3oder eine konsistente Kopie der Datenbank.- Der Ordner
attachments. - Der Ordner
sends, falls Sie diese Dateien behalten möchten. - Die Datei
config.json, wenn Sie das Bedienfeld verwenden. - Die Dateien
rsa_key*. - Die Compose-Dateien, Caddy und ihre Variablen.
Für eine einfache und konsistente Datensicherung können Sie Vaultwarden vorübergehend stoppen und den Ordner archivieren:
docker compose stop vaultwarden
tar -czf vaultwarden-backup-$(date +%F).tar.gz vw-data compose.yml Caddyfile .env
docker compose start vaultwarden
Die Datei kann das Administrationstoken und die SMTP-Zugangsdaten enthalten. Verschlüsseln Sie es, bevor Sie es kopieren. auf einen anderen Computer oder einen entfernten Speicher.
Falls Sie den Dienst nicht stoppen möchten, bietet Vaultwarden einen Befehl, der den SQLite-Kopiermechanismus verwendet:
docker exec vaultwarden /vaultwarden backup
Dieser Befehl schützt die Datenbank, dennoch sollten Sie Anhänge, Konfigurationsdateien und Schlüssel sichern. Automatisieren Sie die Datensicherung, speichern Sie mindestens eine Sicherung extern und testen Sie regelmäßig die Wiederherstellung.
Wie man Vaultwarden mit Docker aktualisiert
Erstellen Sie vor dem Aktualisieren eine verifizierte Kopie. Führen Sie anschließend Folgendes aus:
docker compose pull
docker compose up -d
Prüfen Sie den Status und die neuesten Nachrichten:
docker compose ps
docker compose logs --tail=100 vaultwarden
Docker lädt das Image herunter und erstellt den Container neu, wobei die Daten erhalten bleiben. vw-dataVerwenden Sie keine globalen Bereinigungsbefehle, ohne vorher zu prüfen, welche Container, Images und Netzwerke entfernt werden.
Bei Installationen, bei denen Stabilität von entscheidender Bedeutung ist, können Sie eine bestimmte Version des Images festlegen, anstatt immer die Standardversion zu verwenden. latestAuf diese Weise können Sie die Versionshinweise durchgehen und entscheiden, wann Sie die einzelnen Updates anwenden möchten.
Häufige Fehler bei der Installation von Vaultwarden mit Docker
Die Benutzeroberfläche funktioniert auf localhost, aber nicht von einem anderen Computer aus.
Der Hafen ist beschränkt auf 127.0.0.1 Oder der Browser lehnt kryptografische Funktionen beim Zugriff über HTTP ab. Konfigurieren Sie eine HTTPS-Adresse, bevor Sie den Dienst von anderen Geräten aus nutzen.
Der offizielle Client kann keine Verbindung zum Server herstellen.
Umgebung auswählen Selbstgehostet und geben Sie die genaue Adresse ein mit https://Überprüfen Sie das Zertifikat, DNS, Proxy und die Variablen. DOMAIN.
Der Container startet, aber die Daten verschwinden beim Neuerstellen.
Der Lautstärkeregler ist nicht korrekt installiert. Bitte überprüfen Sie das. ./vw-data:/data In den Einstellungen wird angezeigt, dass Sie Compose aus dem erwarteten Ordner ausführen.
Ich kann kein weiteres Konto erstellen.
Si SIGNUPS_ALLOWED ist in falseDas Verhalten ist korrekt. Senden Sie eine Einladung über das Bedienfeld oder aktivieren Sie die Registrierung vorübergehend nur während der Kontoerstellung.
Der ADMIN_TOKEN-Hash funktioniert nicht.
Überprüfen Sie die Interpolation der Vorzeichen. $Verwenden Sie eine Datei .env mit einfachen Anführungszeichen oder doppelten Anführungszeichen, wenn Sie die Zeichenkette direkt in Compose einfügen.
Umweltvariablen scheinen ignoriert zu werden.
Prüfen Sie, ob es existiert vw-data/config.jsonIm Bedienfeld gespeicherte Optionen können definierte Variablen überschreiben. compose.yml.
Die Zertifikate funktionieren im Browser, aber nicht auf dem Mobilgerät.
Das Gerät vertraut möglicherweise nicht der gesamten Zertifikatskette. Verwenden Sie eine anerkannte Zertifizierungsstelle oder installieren Sie Ihre private Zertifizierungsstelle und deren Zertifikate ordnungsgemäß.
Die Befestigungen versagen
Überprüfen Sie das. DOMAIN Stellen Sie sicher, dass die externe Adresse übereinstimmt und der Proxy die erforderliche Anfragegröße zulässt. Überprüfen Sie außerdem den verfügbaren Speicherplatz und die Berechtigungen. vw-data.
Vaultwarden kann nicht in vw-data schreiben.
Der Hostordner hat inkompatible Berechtigungen. Überprüfen Sie den Eigentümer und die Berechtigungen anhand der Fehlermeldung in den Protokollen. chmod 777 als dauerhafte Lösung.
Fail2ban blockiert eine falsche Adresse
Der Proxy übermittelt nicht die korrekte IP-Adresse, oder Fail2ban liest das falsche Feld. Konfigurieren Sie ihn korrekt. X-Real-IP oder der Header, der Ihrem Proxy entspricht.
Die wiederhergestellte Kopie enthält die Anhänge nicht.
Es wurde lediglich die SQLite-Datenbank gesichert. Bitte stellen Sie auch die Ordner wieder her. attachments y sends, zusätzlich zur RSA-Konfiguration und den Schlüsseln.
Vaultwarden ermöglicht es Ihnen, Organisationen und Sammlungen zu verwenden, um Familienpasswörter teilen Verwenden Sie kompatible Clients. Bevor Sie weitere Benutzer hinzufügen, überprüfen Sie, ob HTTPS, Zwei-Faktor-Authentifizierung und Datensicherungen ordnungsgemäß funktionieren.
Das Ergebnis kann ein schneller, datenschutzfreundlicher und anpassungsfähiger Passwortmanager sein, dessen Sicherheit jedoch von der Wartung abhängt. Die Kontrolle über den Server ist nur dann von Vorteil, wenn sie mit regelmäßigen Updates, eingeschränktem Zugriff und einer bewährten Wiederherstellungsstrategie einhergeht.
Ich bin ein Technik-Enthusiast, der seine „Geek“-Interessen zum Beruf gemacht hat. Ich habe mehr als 10 Jahre meines Lebens damit verbracht, modernste Technologie zu nutzen und aus purer Neugier an allen möglichen Programmen herumzubasteln. Mittlerweile habe ich mich auf Computertechnik und Videospiele spezialisiert. Das liegt daran, dass ich seit mehr als fünf Jahren für verschiedene Websites zum Thema Technologie und Videospiele schreibe und Artikel erstelle, die Ihnen die Informationen, die Sie benötigen, in einer für jeden verständlichen Sprache vermitteln möchten.
Bei Fragen reicht mein Wissen von allem rund um das Windows-Betriebssystem bis hin zu Android für Mobiltelefone. Und mein Engagement gilt Ihnen, ich bin immer bereit, ein paar Minuten zu investieren und Ihnen bei der Lösung aller Fragen in dieser Internetwelt zu helfen.


