Files
Homelab--Bratonein-Kontroll…/Kapitel 05

📘 Kapitel 6: Vaultwarden (Docker unter Debian‑12‑LXC) Logische Position: 6 (nach 5: WireGuard · vor 7: Nextcloud)

🎯 Ziel Vaultwarden (Bitwarden‑kompatibler Server) in einem Debian‑12‑LXC per Docker + Docker Compose betreiben, hinter Nginx Proxy Manager (NPM) mit HTTPS und WebSockets bereitstellen, Registrierungen deaktivieren, Admin‑Token setzen und eine Backup‑Grundlage schaffen.

✅ Voraussetzungen

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

🧩 Was wir aufbauen

  • Container‑Image: vaultwarden/server:latest
  • Ports: 8000:80 (Web/API), 3012:3012 (WebSocket/Live‑Sync)
  • Persistenz: Volume ./data:/data → Daten auf dem Host in /opt/vaultwarden/data
  • Konfig per .env: DOMAIN, ADMIN_TOKEN, SIGNUPS_ALLOWED=false, optional SMTP_*
  • Reverse‑Proxy (NPM): Proxy Host für pass.DEINE‑DOMAIN.tld, Custom Location /notifications/hub → 3012, SSL (Let’s Encrypt)

🗺️ Kapitelablauf (Kurzüberblick)

  1. System vorbereiten (Update, Basis‑Tools)
  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. Admin‑Backend aufrufen: Registrierungen aus, optional SMTP, 2FA aktivieren
  8. Backup‑Grundlage: Datenordner sichern

🔧 Kerneinstellungen (wichtig!)

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

🌐 Erstkonfiguration (im Browser)

  • Aufruf: https://pass.DEINE‑DOMAIN.tld
  • Admin‑Backend: https://pass.DEINE‑DOMAIN.tld/admin → ADMIN_TOKEN eingeben
  • Signups prüfen (aus), optional SMTP für Mails testen, 2FA (TOTP/FIDO2) aktivieren

💾 Backup‑Hinweis (Basis)

  • Daten liegen im Host‑Ordner /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 Live‑Sync/Push
  • DOMAIN ohne https → fehlerhafte Links/Icons
  • ADMIN_TOKEN vergessen/zu schwach → Admin‑Backend gefährdet
  • Let’s‑Encrypt Rate‑Limit 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“.