Files
Homelab--Bratonein-Kontroll…/Kapitel 05

📘 Kapitel 6: Vaultwarden (Docker unter Debian12LXC) Logische Position: 6 (nach 5: WireGuard · vor 7: Nextcloud)

🎯 Ziel Vaultwarden (Bitwardenkompatibler Server) in einem Debian12LXC per Docker + Docker Compose betreiben, hinter Nginx Proxy Manager (NPM) mit HTTPS und WebSockets bereitstellen, Registrierungen deaktivieren, AdminToken setzen und eine BackupGrundlage schaffen.

Voraussetzungen

  • LXC: Debian 12 (Bookworm) erstellt gemäß Grundkapitel Erster LXC Grundsetup & SSH (hier nur Verweis)
  • LXCSpecs: 1 vCPU · 512MB1GB RAM (256MB funktionieren oft, 512MB empfohlen) · 48GB Disk · statische IPv4 (z.B. 10.0.0.16); IPv6 optional
  • Nginx Proxy Manager (separater LXC), gültige Domain/Subdomain (z.B. pass.DEINEDOMAIN.tld)
  • DNSEintrag der Subdomain auf NPM

🧩 Was wir aufbauen

  • ContainerImage: vaultwarden/server:latest
  • Ports: 8000:80 (Web/API), 3012:3012 (WebSocket/LiveSync)
  • Persistenz: Volume ./data:/data → Daten auf dem Host in /opt/vaultwarden/data
  • Konfig per .env: DOMAIN, ADMIN_TOKEN, SIGNUPS_ALLOWED=false, optional SMTP_*
  • ReverseProxy (NPM): Proxy Host für pass.DEINEDOMAIN.tld, Custom Location /notifications/hub → 3012, SSL (Lets Encrypt)

🗺️ Kapitelablauf (Kurzüberblick)

  1. System vorbereiten (Update, BasisTools)
  2. Docker & Compose installieren
  3. Projektverzeichnis /opt/vaultwarden anlegen, .env erstellen
  4. docker-compose.yml schreiben
  5. Container starten, Logs prüfen
  6. NPM: Proxy Host + WebSockets + SSL einrichten
  7. AdminBackend aufrufen: Registrierungen aus, optional SMTP, 2FA aktivieren
  8. BackupGrundlage: Datenordner sichern

🔧 Kerneinstellungen (wichtig!)

  • DOMAIN: https://pass.DEINEDOMAIN.tld (https zwingend, sonst fehlerhafte Assets)
  • ADMIN_TOKEN: lange, zufällige Zeichenfolge (sicher aufbewahren)
  • SIGNUPS_ALLOWED=false: verhindert offene Registrierung
  • WebSockets: NPMCustomLocation /notifications/hub → Port 3012
  • Datenpfad: Host: /opt/vaultwarden/data (im Container /data)

🌐 Erstkonfiguration (im Browser)

  • Aufruf: https://pass.DEINEDOMAIN.tld
  • AdminBackend: https://pass.DEINEDOMAIN.tld/adminADMIN_TOKEN eingeben
  • Signups prüfen (aus), optional SMTP für Mails testen, 2FA (TOTP/FIDO2) aktivieren

💾 BackupHinweis (Basis)

  • Daten liegen im HostOrdner /opt/vaultwarden/data → regelmäßig als Tar/rsync sichern
  • Vor größeren Updates kurz stoppen (docker compose stop), danach wieder starten

⚠️ Stolperfallen

  • WebSockets nicht weitergeleitet → kein LiveSync/Push
  • DOMAIN ohne https → fehlerhafte Links/Icons
  • ADMIN_TOKEN vergessen/zu schwach → AdminBackend gefährdet
  • LetsEncrypt RateLimit bei vielen Zertifikatsanforderungen beachten

🔗 Siehe auch

  • Kap.3 Nginx Proxy Manager (Domain/HTTPS)
  • Kap.4 DynDNS (Erreichbarkeit von außen)
  • Kap.14 Backup (Basis)
  • Kap.7 Nextcloud (nächster Schritt)

📜 Lizenz Creative Commons Attribution (CC BY) Nutzung/Weitergabe/Anpassung mit Namensnennung „Bratonien Tech“.