DAA IT-Umschulung
Am Schülerprojekt mitarbeiten

Du möchtest an diesem Portal mitarbeiten, eigene Ideen einbringen oder bestehende Funktionen verbessern? Dann melde dich bei Steve oder Nils.

Perfekte Vorkenntnisse sind nicht erforderlich. Wichtig sind sorgfältiges Arbeiten, Lernbereitschaft und ein verantwortungsvoller Umgang mit dem System.

Hilfreiche Kenntnisse

  • Grundlagen in HTML und CSS
  • erste Erfahrungen mit JavaScript
  • für erweiterte Arbeiten: PHP, Twig und Grav CMS
  • Grundlagen in Linux, SSH und Dateiberechtigungen
  • Verständnis für Webserver, Netzwerke und IT-Sicherheit
  • saubere Dokumentation und nachvollziehbare Tests

Das ist nicht erlaubt

  • Änderungen ohne vorherige Absprache oder ungesichert direkt am laufenden System
  • Weitergabe von Passwörtern, Zugangsdaten oder Sicherheitsschlüsseln
  • Umgehung von Benutzerrechten oder Zugriffsbeschränkungen
  • eigenständige Änderungen an Proxmox, Containern, Netzwerk oder Firewall
  • Installation zusätzlicher Dienste oder Öffnung neuer Ports ohne Freigabe
  • Löschen oder Verändern fremder Inhalte, Benutzerkonten oder Backups
  • Einbau von Trackern, Werbung oder externen Skripten ohne Prüfung
  • Hochladen personenbezogener, rechtswidriger oder urheberrechtlich nicht freigegebener Inhalte
  • Nutzung des Portals für Angriffe, Portscans oder andere unerlaubte Sicherheitstests

Alle Beiträge müssen zum Lern- und Projektzweck passen. Sicherheit, Datenschutz und Stabilität haben Vorrang.

Vaultwarden auf Proxmox LXC
⌂ Startseite Adresse /anleitungen/vaultwarden-auf-proxmox-lxc

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

1 Container Eigenschaften

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
2 Container starten

Starte den Container und öffne die Konsole (entweder über Proxmox WebGUI oder SSH).

⚙️ Teil 2: Basis-System vorbereiten

1 System aktualisieren
apt update && apt upgrade -y
2 Benötigte Pakete installieren
apt install -y git nano curl wget htop pkg-config openssl libssl-dev build-essential

🦀 Teil 3: Rust und Node.js installieren

1 Rust 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
        
2 Node.js installieren
            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

1 Repository klonen
            git clone https://github.com/dani-garcia/vaultwarden
            cd vaultwarden
        
2 Build ausführen
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

1 Ins Release-Verzeichnis wechseln
cd /root/vaultwarden/target/release
2 Verfügbare Versionen prüfen
curl -s https://api.github.com/repos/dani-garcia/bw_web_builds/releases | grep "tag_name" | head -10
3 Web-Vault herunterladen
            # 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

1 Zertifikat erstellen
            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
        
2 Rocket.toml Konfigurationsdatei erstellen
            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

1 Service-Datei erstellen
            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
        
2 Service aktivieren und starten
            systemctl daemon-reload
            systemctl enable vaultwarden
            systemctl start vaultwarden
            systemctl status vaultwarden
        

🌍 Teil 8: Zugriff auf das Webinterface

1 IP-Adresse des LXC herausfinden
hostname -I
2 Browser öffnen

Gebe folgende Adresse in deinen Browser ein (IP entsprechend anpassen):

https://[LXC-IP]:8443
3 Ersten Account erstellen

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

❌ Build bricht mit SIGKILL ab

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
        
❌ 404 Fehler beim Web-Vault Download

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
❌ ROCKET_TLS Fehler - "invalid type"

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=false setzen, 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

PfadBeschreibung
/root/vaultwarden/Quellcode-Verzeichnis
/root/vaultwarden/target/release/vaultwardenDie Binary-Datei
/root/vaultwarden/target/release/web-vault/Web-Vault Dateien
/root/vaultwarden/target/release/Rocket.tomlRocket Konfiguration
/root/vaultwarden/target/release/cert.pemSSL-Zertifikat
/root/vaultwarden/target/release/data/db.sqlite3SQLite Datenbank

🔄 Letzte Aktualisierung: Mai 2026 – Bei Fragen oder Problemen hilft das offizielle Vaultwarden Wiki weiter.