Vaultwarden auf Proxmox LXC
📋 Voraussetzungen
- ✅ Proxmox VE installiert
- ✅ Debian 12 LXC Template verfügbar
- ✅ Grundkenntnisse im Umgang mit der Kommandozeile
📦 Teil 1: LXC-Container erstellen
Erstelle einen neuen unprivilegierten LXC-Container mit folgenden Mindestanforderungen:
- Template: Debian 12 (oder 11)
- RAM: Mindestens 4 GB für den Build (nach Installation reichen 512 MB - 1 GB)
- CPU: 2 Kerne empfohlen
- Festplatte: 8-10 GB
- Netzwerk: Bridge zum internen Netzwerk
Starte den Container und öffne die Konsole (entweder über Proxmox WebGUI oder SSH).
⚙️ Teil 2: Basis-System vorbereiten
apt update && apt upgrade -y
apt install -y git nano curl wget htop pkg-config openssl libssl-dev build-essential
🦀 Teil 3: Rust und Node.js installieren
curl https://sh.rustup.rs -sSf | sh
💡 Wähle während der Installation die Option 1 (Standardinstallation).
source ~/.cargo/env
echo 'export PATH=~/.cargo/bin:$PATH' >> ~/.bashrc
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
ℹ️ Da du als root arbeitest, benötigst du kein sudo vor den Befehlen.
🏗️ Teil 4: Vaultwarden bauen
git clone https://github.com/dani-garcia/vaultwarden
cd vaultwarden
cargo build --features sqlite --release
💡 Wichtige Hinweise zum Build:
- Der Build benötigt etwa 4-5 GB RAM
- Die Dauer beträgt ca. 7-25 Minuten (abhängig von der CPU)
- Bei einem "SIGKILL" Fehler (Speichermangel) musst du den RAM des LXC erhöhen
🌐 Teil 5: Web-Vault herunterladen und installieren
cd /root/vaultwarden/target/release
curl -s https://api.github.com/repos/dani-garcia/bw_web_builds/releases | grep "tag_name" | head -10
# Beispiel mit v2026.4.1 (Version anpassen!)
wget https://github.com/dani-garcia/bw_web_builds/releases/download/v2026.4.1/bw_web_v2026.4.1.tar.gz
tar -xzf bw_web_v2026.4.1.tar.gz
mv bw_web_* web-vault
ls -la web-vault/
🔒 Teil 6: HTTPS mit selbstsigniertem Zertifikat einrichten
cd /root/vaultwarden/target/release
openssl req -x509 -newkey rsa:4096 -nodes \
-keyout key.pem -out cert.pem \
-days 365 -subj "/CN=$(hostname -I | awk '{print $1}')"
chmod 600 key.pem
cat > Rocket.toml << EOF
[default]
address = "0.0.0.0"
port = 8443
tls = { certs = "cert.pem", key = "key.pem" }
EOF
🚀 Teil 7: Systemd-Service einrichten
cat > /etc/systemd/system/vaultwarden.service << EOF
[Unit]
Description=Vaultwarden Server
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/vaultwarden/target/release
Environment="WEB_VAULT_FOLDER=/root/vaultwarden/target/release/web-vault"
ExecStart=/root/vaultwarden/target/release/vaultwarden
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable vaultwarden
systemctl start vaultwarden
systemctl status vaultwarden
🌍 Teil 8: Zugriff auf das Webinterface
hostname -I
Gebe folgende Adresse in deinen Browser ein (IP entsprechend anpassen):
https://[LXC-IP]:8443
Klicke auf "Create Account". Gib eine E-Mail-Adresse (muss nicht echt sein) und ein sicheres Master-Passwort ein.
⚠️ Das Master-Passwort kann nicht zurückgesetzt werden - merke es dir gut! Der erste erstellte Benutzer wird automatisch zum Administrator.
🔧 Teil 9: (Optional) Admin-Token setzen
Für Zugriff auf das Admin-Panel unter https://[LXC-IP]:8443/admin:
systemctl stop vaultwarden
systemctl edit --full vaultwarden.service
Füge in der [Service] Sektion hinzu:
Environment="ADMIN_TOKEN=dein-sicheres-token-hier"
systemctl daemon-reload
systemctl start vaultwarden
❓ Teil 10: Fehlerbehebung - Häufige Probleme
Der LXC hat zu wenig RAM. Erhöhe den RAM auf mindestens 4 GB:
pct list # LXC-ID herausfinden
pct set 100 -memory 4096
pct set 100 -swap 1024
pct restart 100
Prüfe die verfügbaren Versionen und wähle eine existierende Version:
curl -s https://api.github.com/repos/dani-garcia/bw_web_builds/releases | grep "tag_name" | head -10
Verwende die Rocket.toml Konfigurationsdatei anstelle von Umgebungsvariablen (siehe Teil 6).
⚠️ Teil 11: Wichtige Sicherheitshinweise
- Nach der ersten Registrierung solltest du in der Admin-Oberfläche
SIGNUPS_ALLOWED=falsesetzen, damit sich keine weiteren Personen registrieren können. - Selbstsignierte Zertifikate sind nur für Tests ausreichend. Für den Produktivbetrieb verwende ein richtiges SSL-Zertifikat (z.B. von Let's Encrypt).
- Backup der Datenbank nicht vergessen:
cp /root/vaultwarden/target/release/data/db.sqlite3 /backup/location/
🎯 Teil 12: Was nun?
Nach erfolgreicher Installation hast du:
- ✅ Vaultwarden ohne Docker auf einem Proxmox LXC
- ✅ HTTPS mit selbstsigniertem Zertifikat auf Port 8443
- ✅ Systemd-Service für Autostart
- ✅ Web-Vault Oberfläche
Nützliche Befehle für den Betrieb
systemctl status vaultwarden # Status prüfen
systemctl restart vaultwarden # Service neustarten
journalctl -u vaultwarden -f # Logs anzeigen
ss -tulpn | grep 8443 # Port prüfen
Zusammenfassung der wichtigsten Verzeichnisse und Dateien
| Pfad | Beschreibung |
|---|---|
/root/vaultwarden/ | Quellcode-Verzeichnis |
/root/vaultwarden/target/release/vaultwarden | Die Binary-Datei |
/root/vaultwarden/target/release/web-vault/ | Web-Vault Dateien |
/root/vaultwarden/target/release/Rocket.toml | Rocket Konfiguration |
/root/vaultwarden/target/release/cert.pem | SSL-Zertifikat |
/root/vaultwarden/target/release/data/db.sqlite3 | SQLite Datenbank |
🔄 Letzte Aktualisierung: Mai 2026 – Bei Fragen oder Problemen hilft das offizielle Vaultwarden Wiki weiter.