Vaultwarden mit Docker Compose: Eigenen Passwortmanager lokal auf Port 8080 starten
Ein Passwortmanager ist kein gutes Bastelprojekt, wenn am Ende nur Container laufen, aber keine saubere Anwendung nutzbar ist. Vaultwarden ist dafuer ein brauchbarer Kandidat: leichtgewichtig, Bitwarden-kompatibel und schnell lokal startbar, ohne direkt einen kompletten Produktiv-Stack mit Reverse Proxy und Mailserver aufzubauen.
Der Stand fuer dieses Tutorial ist aktuell genug fuer einen sauberen Fallback. Das offizielle Projekt beschreibt weiterhin ein sehr kleines Compose-Setup mit einem Dienst und persistentem Datenpfad. Auf Docker Hub zeigt das offizielle Image vaultwarden/server:latest am 19. April 2026 auf 1.35.7. Statt blind latest zu ziehen, pinne ich deshalb genau diesen Stand.
Was du am Ende hast
- Vaultwarden lokal unter
http://127.0.0.1:8080 - Einen persistenten Datenordner fuer Konfiguration, Datenbank und Anhaenge
- Einen ersten Account im Browser
- Pruefschritte mit
docker compose, Logs undcurl
Voraussetzungen
Du brauchst nur:
- Docker Engine
- das Compose-Plugin (
docker compose) - einen freien lokalen Port
8080
Pruefe das kurz:
docker --version
docker compose version
1. Arbeitsordner anlegen
Nicht in einem bestehenden Projektverzeichnis anfangen. Lege zuerst einen eigenen Ordner an:
mkdir vaultwarden-local
cd vaultwarden-local
2. Die Compose-Datei erstellen
Lege jetzt die Datei vaultwarden-local/compose.yaml an:
services:
vaultwarden:
image: vaultwarden/server:1.35.7
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "http://localhost:8080"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"
Warum genau so?
1.35.7macht das Setup reproduzierbar./vw-data:/datasorgt dafuer, dass deine Daten beim Container-Neustart erhalten bleiben127.0.0.1:8080:80bindet Vaultwarden bewusst nur lokal statt offen auf allen InterfacesSIGNUPS_ALLOWED=trueist fuer den allerersten lokalen Start praktisch, damit du deinen ersten Benutzer direkt im Browser anlegen kannst
3. Stack starten
Jetzt ziehst du das Image und faehrst den Dienst hoch:
docker compose pull
docker compose up -d
Wenn alles sauber laeuft, solltest du danach genau einen laufenden Container sehen.
4. Funktion lokal pruefen
Pruefe zuerst den Containerstatus:
docker compose ps
Danach teste die Weboberflaeche direkt:
curl -I http://127.0.0.1:8080
Wenn Vaultwarden bereits bereit ist, bekommst du einen erfolgreichen HTTP-Status oder einen Redirect zur Weboberflaeche. Falls nicht, schau direkt in die Logs:
docker compose logs --tail=100 vaultwarden
Damit ist der technische Kern schon sichtbar: Nicht nur ein Container laeuft, sondern die Anwendung antwortet lokal im Browser.
5. Ersten Benutzer anlegen
Oeffne jetzt:
http://127.0.0.1:8080
Beim ersten Start kannst du direkt einen Account anlegen. Genau hier hat das Projekt sein sichtbares Ergebnis:
- Login und Tresoroberflaeche laufen lokal
- neue Logins, Notizen und Karten lassen sich anlegen
- der Dienst ist mit offiziellen Bitwarden-Clients nutzbar, wenn du spaeter auf Self-Hosted umstellst
6. Nach dem ersten Login Registrierungen wieder schliessen
Fuer einen kurzen lokalen Erststart ist SIGNUPS_ALLOWED=true okay. Danach solltest du den Schalter wieder schliessen, damit nicht spaeter versehentlich weitere offene Registrierungen moeglich sind.
Aendere dafuer in vaultwarden-local/compose.yaml:
SIGNUPS_ALLOWED: "false"
Dann uebernimm die Aenderung:
docker compose up -d
7. Wichtiger Hinweis zu HTTPS und localhost
Das Projekt weist selbst darauf hin, dass moderne Browser Web-Crypto in unsicheren Kontexten blockieren koennen. Fuer einen lokalen Test ist localhost in Ordnung. Sobald du Vaultwarden aber ueber eine echte Domain oder aus dem Heimnetz ausserhalb von localhost nutzen willst, gehoert HTTPS davor.
Fuer den echten Einsatz heisst das:
- lokal testen auf
localhost - spaeter mit Reverse Proxy und TLS veroeffentlichen
- den Dienst nicht einfach ungeschuetzt offen ins Internet haengen
8. Was du in dein Backup aufnehmen musst
Bei diesem Minimal-Setup liegt der kritische Zustand im Ordner vaultwarden-local/vw-data. Genau dieser Pfad gehoert in dein Backup, nicht nur die Compose-Datei.
Wenn du spaeter migrierst oder den Host wechselst, ist dieser Ordner der Unterschied zwischen "Dienst schnell neu gestartet" und "Passwoerter verloren".
9. Nuetzliche Befehle fuer den Alltag
docker compose logs -f vaultwarden
docker compose restart vaultwarden
docker compose pull
docker compose up -d
docker compose down
docker compose down entfernt nur den Container, nicht den Inhalt von ./vw-data.
Fazit
Wenn ein News-Thema nicht stark genug ist, sollte der Ersatz wenigstens sofort echten Nutzen liefern. Genau das schafft Vaultwarden: ein einzelner Compose-Dienst, ein sichtbares Browser-Ergebnis und ein Setup, das sich ohne viel Ballast lokal pruefen laesst.
Fuer einen schnellen, nachvollziehbaren Self-Hosting-Start am 19. April 2026 ist das deutlich brauchbarer als noch ein generischer Docker-Grundlagenpost ohne Anwendung.