Es gibt viele Cloud Passwortmanager aber am besten ist es, wenn man selber einen Passwortmanager hosten kann. Da bietet sich ein Vaultwarden Proxmox 7 oder Proxmox Vaultwarden 8 LXC Container sehr gut an.
Bitwarden ist ein Open Source Passwortmanager welchen Sie auch selber in einem Docker Container Hosten können. Vaultwarden ist ein inoffizieller Bitwarden Server. Zum ofiziellen Bitwarden LXC Tutorial geht es hier.
Falls Sie Proxmox 6.x.x verwenden finden Sie hier ein Tutorial.
Bei einem Upgrade von Proxmox 6 auf Proxmox 7 muss die LXC Container Konfiguration angepasst werden und docker und docker-ce müssen auf Version 20.x.x upgraded werden.
1. Vaultwarden Proxmox LXC Container erstellen
Als erstens erstellen Sie einen LXC Container mit dem Debian 11 CT Template. Der LXC Container sollte eine Root Disk mit 4GB, 512MB RAM, 512MB SWAP und 1 CPU Core haben. Falls Sie nicht wissen wie man einen LXC Container erstellt können Sie für die Erstellung diesem Tutorial folgen.
Wichtig: Starten Sie den Vaultwarden Proxmox LXC Container noch nicht.
2. Konfiguration des Proxmox 7.x.x / Proxmox 8.x.x Hosts
Nachdem Sie den Vaultwarden LXC Container erstellt haben müssen Sie eine Konfiguration am Proxmox 7.x.x Host vornehmen.
nano /etc/modules-load.d/modules.conf
Fügen Sie folgende Module am Ende der Datei ein.
aufs overlay
3. Konfiguration des LXC Containers
Editieren Sie nun die Konfiguration des Vaultwarden Proxmox LXC Containers.
(«vid» entspricht der ID des LXC Containers also beispielsweise «nano /etc/pve/lxc/103.conf»)
nano /etc/pve/lxc/<vid>.conf
Fügen Sie folgende Zeilen am Ende der Datei ein.
#insert docker part below lxc.apparmor.profile: unconfined lxc.cgroup2.devices.allow: a lxc.cap.drop:
4. Vaultwarden Proxmox LXC Container Starten
Jetzt können Sie Ihren Container starten und sich über SSH oder über die Konsole im PVE Web Interface anmelden.
5. Updates und Pakete installieren
Zuerst empfiehlt es sich ein update durchzuführen
apt update
Zusätzlich können Sie fail2ban installieren, um die Sicherheit zu erhöhen.
Abhängigkeiten von Doker installieren
apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
Docker Repository hinzufügen
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Docker Installieren
apt update && apt install docker-ce docker-compose -y
6. Vaultwarden Docker Container Installieren
Docker Compose Config erstellen.
nano docker-compose.yml
Fügen Sie folgendes ein und speichern Sie docker-compose.yml
version: '3' services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always environment: - WEBSOCKET_ENABLED=true - DOMAIN=https://vaultwarden-privat.home ports: - 80:80 volumes: - ./vw-data:/data
Ersetzen Sie https://vaultwarden-privat.home mit Ihrer domain.
Starten Sie nun den Vaultwarden Proxmox Server.
docker-compose up -d
Nun können Sie auf die WebUI Ihres Vaultwarden LXC Servers mit der IP Ihres Servers zugreifen.
7. Caddy Reverse Proxy (Optional)
Falls Sie Vaultwarden nur intern mit selbst signiertem Zertifikat verwenden möchten, können Sie zusätzlich Caddy als lokalen Proxy einrichten.
Zuerst Stoppen Sie docker-compose
docker-compose down
Editieren Sie die Docker Compose Config.
nano docker-compose.yml
Fügen Sie folgendes am Ende der Config Datei ein.
caddy: image: caddy:2 container_name: caddy restart: always ports: - 80:80 - 443:443 volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - ./caddy-config:/config - ./caddy-data:/data environment: - LOG_FILE=/data/access.log
Ändern Sie den Externen Port (links) der Vaultwarden Docker Config von 80 auf z.B. 8080!
Das ganze docker-compose.yml File könnte nun wie folgt aussehen.
version: '3' services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always environment: - WEBSOCKET_ENABLED=true - DOMAIN=https://vaultwarden-privat.home ports: - 8080:80 volumes: - ./vw-data:/data caddy: image: caddy:2 container_name: caddy restart: always ports: - 80:80 - 443:443 volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - ./caddy-config:/config - ./caddy-data:/data environment: - LOG_FILE=/data/access.log
Nun editieren Sie die Caddy config.
nano Caddyfile
Fügen Sie folgendes ein.
vaultwarden-privat.home { tls internal reverse_proxy vaultwarden:80 }
Ersetzen Sie vaultwarden-privat.home mit Ihrer internen domain.
Nun können Sie docker-compose wieder starten. Danach sollte Vaultwarden auch über die hier konfigurierte interne domain verfügbar sein.
docker-compose up -d
8. Auf der Weboberfläche registrieren
Gehen Sie auf die Weboberfläche und klicken Sie auf Create Account.
Geben Sie die nötigen Informationen ein und klicken Sie auf Submit.
9. Anmelden
Sie können sich nun auf Ihrem eigenen, selbst gehosteten Vaultwarden Passwortmanager anmelden.
10. User Registration deaktivieren
Falls Sie weitere Benutzerregistrierungen deaktivieren möchten, können Sie folgende Zeile in der Datei docker-compose.yml unter vaultwarden unter environment: hinzufügen.
SIGNUPS_ALLOWED=false
Und danach Docker mit folgendem Befehl neu starten, um die Konfiguration zu übernehmen
docker-compose down && docker-compose up -d
Hallo,
klasse Anleitung (so wie alle hier). Kannst Du etwas näher Beschreiben, was es mit der eigenen Domain aufsich hat ?
Es geht wohl darum, dass ich von außerhalb auf mein Vaultwarden zugreifen kann, oder ?
Was genau macht die Domain in diesem Fall, bzw. muss hier konfiguriert werden ?
Danke und schöne Grüße aus dem Münsterland
Frank
Hallo Frank
Also wenn du von ausserhalb deines Netzwerkes darauf zugreifen möchtest, musst du eine Domain kaufen und diese dann da eingeben. Und dann die Domain auf deine Public IP darauf zeigen lassen mit einem «A Record» und Port forwarding. Allenfalls ist DynDNS noch sinvoll wenn sich deine public IP öfters ändert.
LG Ramon
Hallo,
tolles Tutorial, besonders wenn man Vaultwarden nur intern nutzen möchte. In Verbindung mit Caddy werden die Zertifikate scheinbar selbstständig erneuert.
Um auf Vaultwarden von Ausserhalb zugreifen zu können, kann man doch auch eine VPN-Verbindung (Wireguard,OpenVPN) nutzen, oder spricht da sicherheitstechnisch was dagegen?
Vielen Dank und einen guten Rutsch ins neue Jahr
Mike
Hallo Mike
Ja man kann durchaus VPN verwenden.
Meines erachtens spricht da nicht im geringsten etwas dagegen, da so im Gegensatz zum öffentlich verfügbaren Vaultwarden nur Zugriff über VPN möglich ist, was es für einen Angreiffer noch zusätzlich erschwert.
Danke.
LG Ramon