Vaultwarden – Bitwarden Self-Hosted Installation auf Ubuntu | Enjyn Gruppe
Hallo Welt
Hallo Welt
Original Lingva Deutsch
Übersetzung wird vorbereitet...
Dieser Vorgang kann bis zu 60 Sekunden dauern.
Diese Seite wird erstmalig übersetzt und dann für alle Besucher gespeichert.
0%
DE Zurück zu Deutsch
Übersetzung durch Lingva Translate

303 Dokumentationen verfügbar

Wissensdatenbank

Vaultwarden Bitwarden Self Hosted Installation

Zuletzt aktualisiert: 05.04.2026 um 19:42 Uhr

Vaultwarden – Bitwarden Self-Hosted Installation auf Ubuntu

Was ist Vaultwarden?

Vaultwarden ist ein Open-Source, selbst gehosteter Password Manager, der mit der Bitwarden-API kompatibel ist. Im Gegensatz zu Cloud-basierten Passwort-Managern können Sie mit Vaultwarden Ihre Anmeldedaten vollständig lokal kontrollieren und speichern. Die offizielle Bitwarden-Client-Software (Browser-Erweiterung, Desktop-App, mobil) funktioniert nahtlos mit Vaultwarden.

Voraussetzungen

  • Ubuntu 20.04 oder neuer
  • Docker und Docker Compose installiert
  • Eine Domain für SSL/HTTPS (z.B. vault.example.com)
  • Nginx als Reverse Proxy
  • Let's Encrypt für SSL-Zertifikat
  • Mindestens 2GB RAM verfügbar
💡 Tipp: Vaultwarden ist ressourcenschonend und läuft auch auf kleineren Servern oder Raspberry Pi.

Vergleich: Vaultwarden vs Bitwarden Cloud vs KeePassXC

Feature Vaultwarden Bitwarden Cloud KeePassXC
Cost Kostenlos (Open Source) 10 EUR/Jahr oder kostenlos (basic) Kostenlos (Open Source)
Self-hosted Ja (Docker) Nein (Cloud only) Ja (lokal)
TOTP (2FA) Ja (eingebaut) Ja (Premium) Plugin erforderlich
Admin panel Web-basiert vorhanden Dashboard vorhanden Keine Verwaltungs-UI
Mobile apps Bitwarden Apps funktionieren Offizielle Apps vorhanden Viele Drittanbieter-Apps
Browser extension Bitwarden Extension funktioniert Offizielle Extension KeePass Extensions verfügbar

Installation mit Docker Compose

Schritt 1: Verzeichnis erstellen

mkdir -p /opt/vaultwarden
cd /opt/vaultwarden

Schritt 2: docker-compose.yml erstellen

cat > docker-compose.yml << 'EOF'
version: '3.8'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    ports:
      - "80:80"
      - "443:443"
    environment:
      DOMAIN: https://vault.example.com
      SIGNUPS_ALLOWED: "true"
      INVITATIONS_ALLOWED: "false"
      ADMIN_TOKEN: ${ADMIN_TOKEN}
      SHOW_PASSWORD_HINT: "false"

      # SMTP Konfiguration
      SMTP_HOST: mail.example.com
      SMTP_FROM: vaultwarden@example.com
      SMTP_PORT: 587
      SMTP_SECURITY: starttls
      SMTP_USERNAME: ${SMTP_USER}
      SMTP_PASSWORD: ${SMTP_PASSWORD}

      # Datenbankoptionen
      DATABASE_URL: sqlite:///data/db.sqlite3

      # Sicherheit
      EXTENDED_LOGGING: "true"
      EXTENDED_LOGGING_FORMAT: "{method} {uri} {status}"
      LOG_LEVEL: info

    volumes:
      - ./vw_data:/data
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    networks:
      - vaultwarden-net

networks:
  vaultwarden-net:
    driver: bridge
EOF

Schritt 3: Environment-Datei erstellen

cat > .env << 'EOF'
ADMIN_TOKEN=$(openssl rand -base64 32)
SMTP_USER=your-smtp-username
SMTP_PASSWORD=your-smtp-password
EOF
⚠️ Wichtig: Der ADMIN_TOKEN ist sensibel! Speichern Sie ihn sicher. Sie benötigen ihn für den Zugriff auf das Admin-Panel.

Nginx Reverse Proxy mit SSL

Nginx Konfiguration

cat > /etc/nginx/sites-available/vaultwarden << 'EOF'
server {
    listen 80;
    server_name vault.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name vault.example.com;

    ssl_certificate /etc/letsencrypt/live/vault.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/vault.example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    client_max_body_size 525M;

    location / {
        proxy_pass http://localhost:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Connection "";
        proxy_http_version 1.1;
    }

    location /admin {
        proxy_pass http://localhost:80/admin;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

Let's Encrypt SSL-Zertifikat

sudo apt-get install certbot python3-certbot-nginx
sudo certbot certonly --nginx -d vault.example.com

Nginx aktivieren und neustarten

sudo ln -s /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Vaultwarden starten

cd /opt/vaultwarden
docker-compose up -d
✅ Gut zu wissen: Überprüfen Sie die Logs mit: docker-compose logs -f

Admin Panel und Erste Konfiguration

Admin Panel aufrufen

Öffnen Sie: https://vault.example.com/admin und geben Sie Ihren ADMIN_TOKEN ein.

Im Admin Panel:

  • Organization Policy anpassen
  • Einladungsrichtlinie konfigurieren
  • Backup-Einstellungen überprüfen
  • SMTP-Verbindung testen

Benutzerregistrierung

Erste Benutzer erstellen

Nach der Installation können sich Benutzer selbst registrieren, wenn SIGNUPS_ALLOWED=true. Nach dem Onboarding sollten Sie dies in der .env deaktivieren:

SIGNUPS_ALLOWED=false

Danach starten Sie neu:

docker-compose down
docker-compose up -d

Backup-Strategie

Regelmäßige Backups

#!/bin/bash
BACKUP_DIR="/backups/vaultwarden"
mkdir -p $BACKUP_DIR
DATE=$(date +%Y%m%d_%H%M%S)

# SQLite-Datenbank sichern
cp /opt/vaultwarden/vw_data/db.sqlite3 $BACKUP_DIR/db_$DATE.sqlite3

# Optional: Zu externem Speicher synchronisieren
rsync -av $BACKUP_DIR remote-server:/backups/vaultwarden/

Backup-Automatisierung mit Cron

0 2 * * * /opt/vaultwarden/backup.sh

Updates durchführen

Image aktualisieren

cd /opt/vaultwarden
docker-compose pull
docker-compose down
docker-compose up -d

Bitwarden Clients verbinden

Browser-Erweiterung

  1. Bitwarden-Erweiterung installieren
  2. Einstellungen → Server → Custom Environment
  3. Server URL: https://vault.example.com eintragen
  4. API URL: https://vault.example.com/api (wird meist automatisch erkannt)
  5. Mit Benutzername/Passwort anmelden

Desktop- und Mobile-Apps

Gleiches Verfahren: Einstellungen → Server-URL auf die selbst gehostete Instanz ändern.

⚠️ Wichtig: Setzen Sie SIGNUPS_ALLOWED=false nach der Erstellung des ersten Benutzers, um unerwünschte Registrierungen zu verhindern.

Sicherheit und Best Practices

  • Verwenden Sie nur HTTPS (SSL/TLS)
  • Regelmäßige Backups durchführen
  • Vaultwarden regelmäßig aktualisieren
  • Starke Master-Passwörter erzwingen
  • Two-Factor Authentication (2FA) aktivieren
  • Firewall richtig konfigurieren (nur notwendige Ports offenlegen)
  • Log-Dateien regelmäßig überprüfen

Häufig gestellte Fragen

Kann ich Daten von Bitwarden Cloud exportieren? Ja, Bitwarden ermöglicht den Export als JSON. Sie können diese Datei in Vaultwarden importieren.

Ist Vaultwarden sicher? Ja, wenn Sie die Server-Updates regelmäßig durchführen, HTTPS verwenden und die Datenbank sichern.

Welche Datenbank wird empfohlen? SQLite für einfache Setups (<100 Benutzer), PostgreSQL für größere Installationen.

Verwandte Artikel

Weitere Ressourcen

Enjix Beta

Enjyn AI Agent

Hallo 👋 Ich bin Enjix — wie kann ich dir helfen?
120