# [Anleitung] Vaultwarden (Bitwarden-Alternative) via Docker Compose einrichten
Hallo zusammen,
wer seine Passwörter, Kreditkarten und vertraulichen Notizen nicht in einer fremden Cloud speichern möchte, findet in **Vaultwarden** die perfekte Lösung. Es handelt sich um eine extrem schlanke, in Rust geschriebene Alternative zum Bitwarden-Server. Sie ist voll kompatibel mit allen offiziellen Bitwarden-Apps (Browser-Erweiterung, iOS, Android, Desktop) und schont die Systemressourcen enorm.
Hier ist das fertige Docker Compose Setup für euren eigenen Passwort-Tresor – komplett anonymisiert und sicher aufbereitet.
### ⚠️ Wichtige Vorbereitung vor dem Kopieren:
Damit die Bitwarden-Apps und die Weboberfläche funktionieren, setzt Vaultwarden zwingend eine verschlüsselte HTTPS-Verbindung voraus (ohne SSL wird das Login blockiert). Passt die Umgebungsvariable
DOMAIN auf eure tatsächliche HTTPS-Subdomain an. Stellt außerdem sicher, dass der Pfad unter
volumes (z. B. für die Datenbank und Anhänge) auf eurem Server existiert.
---
### Der Docker Compose Stack
yaml
version: '3.8'
services:
# Der Vaultwarden (Bitwarden) Passwort-Tresor
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
# Aktiviert die WebSocket-Unterstützung für Echtzeit-Synchronisation zwischen Geräten
- WEBSOCKET_ENABLED=true
# Eure öffentliche HTTPS-Adresse (Wichtig: Bitwarden-Apps setzen HTTPS zwingend voraus!)
- DOMAIN=https://deine-domain.de # <--- DEINE TRESOR SUBDOMAIN ANPASSEN!
volumes:
- /dein/pfad/zu/bitwarden/data:/data # <--- SPEICHERORT FÜR DIE TRESOR-DATENBANK ANPASSEN!
networks:
lan_network:
ipv4_address: DEINE_FREIE_CONTAINER_IP # <--- FREIE IP AUS EUREM NETZWERK EINTRAGEN!
networks:
lan_network:
name: NAME_EURES_EXISTIERENDEN_NETZWERKS # <--- NAME EURES EXISTIERENDEN EXTERNEN NETZWERKS!
external: true
---
### 🌐 Einrichtung im Nginx Proxy Manager (NPM)
Da Vaultwarden sowohl normale Web-Anfragen als auch WebSockets für die Echtzeit-Synchronisation nutzt, muss der Reverse Proxy richtig konfiguriert werden.
Legt im NPM einen neuen **Proxy Host** an:
1. **Domain Names:**
tresor.deine-domain.de
2. **Scheme:**
http
3. **Forward Hostname / IP:**
DEINE_FREIE_CONTAINER_IP *(Die oben vergebene IP des Vaultwarden-Containers)*
4. **Forward Port:**
80 *(Der Standard-Port von Vaultwarden)*
5. **Websockets Support:** 🟩 **Häkchen setzen / Aktivieren!** *(Wichtig, damit Änderungen an Passwörtern sofort ohne manuelles Aktualisieren auf allen Geräten landen).*
6. **SSL:** Ein neues Let's Encrypt Zertifikat anfordern, *Force SSL* sowie *HTTP/2 Support* aktivieren.
---
### 🛠️ Sicherheitstipp: Registrierung nach Ersteinrichtung schließen (Optional)
Sobald ihr euren eigenen Account auf der Weboberfläche erstellt habt, solltet ihr verhindern, dass Fremde, die eure Subdomain erraten, ebenfalls Konten auf eurem Server anlegen können.
Fügt dazu nach eurer erfolgreichen Registrierung einfach folgende Zeile im Portainer-Editor unter
environment hinzu und aktualisiert den Stack:
yaml
- SIGNUPS_ALLOWED=false
Euer bestehender Admin-Account bleibt voll aktiv, aber die Registrierung für neue Benutzer ist ab diesem Zeitpunkt komplett gesperrt.