16. September 2026

Vaultwarden mit Docker – Passwortmanager selbst hosten

Vaultwarden mit Docker selbst hosten – sicherer Passwortmanager

Passwörter gehören zu den sensibelsten Daten überhaupt. Trotzdem werden sie häufig mehrfach verwendet oder unsicher gespeichert. Ein Passwortmanager schafft hier Abhilfe, indem er sichere, einzigartige Kennwörter generiert und verschlüsselt speichert.

Wer die volle Kontrolle über seine Daten behalten möchte, kann seinen Passwortmanager einfach selbst hosten. Eine der beliebtesten Lösungen dafür ist Vaultwarden.


Was ist Vaultwarden?

Vaultwarden ist eine schlanke, in Rust entwickelte Alternative zum offiziellen Bitwarden-Server. Er ist vollständig kompatibel mit den offiziellen Bitwarden-Apps für:

  • Windows
  • Linux
  • macOS
  • Android
  • iOS
  • Browser-Erweiterungen (Firefox, Chrome, Edge usw.)

Der große Vorteil: Vaultwarden benötigt deutlich weniger Ressourcen und eignet sich deshalb hervorragend für:

  • Raspberry Pi
  • Mini-PCs
  • VPS
  • Heimserver
  • Docker-Umgebungen

Vorteile von Vaultwarden

✅ Vollständige Kontrolle über alle Passwörter

✅ Ende-zu-Ende verschlüsselte Speicherung

✅ Unterstützung aller offiziellen Bitwarden-Clients

✅ Sehr geringer Ressourcenverbrauch

✅ Docker-Unterstützung

✅ Mehrbenutzerfähig

✅ Organisationen und Passwortfreigaben

✅ Zwei-Faktor-Authentifizierung


Voraussetzungen

Für den Betrieb werden lediglich benötigt:

  • Docker
  • Docker Compose
  • Reverse Proxy (z. B. Traefik oder Nginx)
  • HTTPS-Zertifikat (Let’s Encrypt empfohlen)

Projektstruktur

Eine einfache Verzeichnisstruktur genügt bereits:

vaultwarden/
├── docker-compose.yml
├── .env
└── data/

Der Ordner data wird beim ersten Start automatisch erstellt und enthält später die Datenbank, Anhänge sowie die Konfiguration.


docker-compose.yml

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped

    environment:
      TZ: ${TZ}
      DOMAIN: ${DOMAIN}
      ADMIN_TOKEN: ${ADMIN_TOKEN}
      SIGNUPS_ALLOWED: "false"
      INVITATIONS_ALLOWED: "false"
      WEBSOCKET_ENABLED: "true"
      LOG_LEVEL: "warn"
      LOG_FILE: "/data/vaultwarden.log"

    volumes:
      - ./data:/data

    networks:
      - vault

    security_opt:
      - no-new-privileges:true

    tmpfs:
      - /tmp

    healthcheck:
      test: ["CMD", "curl", "-fsS", "http://127.0.0.1/alive"]
      interval: 30s
      timeout: 5s
      retries: 5

networks:
  vault:
    external: true

.env

TZ=Europe/Berlin

HOST=vault.example.com
DOMAIN=https://vault.example.com

ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=4$....'

Tipp: Verwende ausschließlich einen Argon2-gehashten Admin-Token und niemals ein Klartext-Passwort.

docker run --rm -it vaultwarden/server /vaultwarden hash

Erklärung der wichtigsten Variablen

VariableBeschreibung
TZZeitzone des Containers
DOMAINÖffentliche HTTPS-Adresse der Instanz
ADMIN_TOKENPasswort für das Admin-Interface (als Argon2-Hash)
SIGNUPS_ALLOWEDErlaubt oder verbietet öffentliche Registrierungen
INVITATIONS_ALLOWEDBenutzer können keine Einladungen verschicken
WEBSOCKET_ENABLEDAktiviert Live-Synchronisation
LOG_LEVELLegt den Detailgrad der Protokollierung fest

Warum öffentliche Registrierungen deaktivieren?

Auf einem privaten Passwortmanager sollten sich grundsätzlich keine unbekannten Benutzer registrieren können.

Deshalb empfiehlt sich:

SIGNUPS_ALLOWED=false
INVITATIONS_ALLOWED=false

Neue Benutzer können stattdessen gezielt über das Administrationsportal angelegt oder eingeladen werden.


Das Admin-Interface

Vaultwarden besitzt ein separates Administrationsportal.

Dieses ist erreichbar unter:

https://vault.example.com/admin

Der Zugriff erfolgt ausschließlich über den in der .env hinterlegten ADMIN_TOKEN.


Container starten

Nach dem Erstellen der Dateien genügt:

docker compose up -d

Den Status überprüfst du anschließend mit:

docker ps

Die Logdateien lassen sich über folgende Befehle anzeigen:

docker logs vaultwarden

oder

docker compose logs -f

Reverse Proxy

Vaultwarden sollte grundsätzlich nicht direkt aus dem Internet erreichbar sein.

Empfohlen wird ein Reverse Proxy wie:

  • Traefik
  • Nginx Proxy Manager
  • Nginx
  • Caddy

Dadurch erhält die Instanz automatisch:

  • HTTPS
  • Let’s Encrypt Zertifikate
  • HTTP/2 oder HTTP/3
  • Sicherheitsheader
  • zentrale Verwaltung weiterer Dienste

Datensicherung

Alle wichtigen Daten befinden sich im Ordner:

./data

Ein regelmäßiges Backup dieses Verzeichnisses genügt in den meisten Fällen bereits vollständig.

Besonders wichtig sind:

  • Datenbank
  • Anhänge
  • Konfiguration
  • RSA-Schlüssel

Ohne diese Daten können gespeicherte Passwörter später nicht mehr entschlüsselt werden.


Sicherheitshinweise

Für einen sicheren Betrieb sollten folgende Punkte umgesetzt werden:

  • ausschließlich HTTPS verwenden
  • starke Passwörter einsetzen
  • Zwei-Faktor-Authentifizierung aktivieren
  • regelmäßige Backups erstellen
  • Docker-Images aktuell halten
  • öffentliche Registrierung deaktivieren
  • Zugriff auf /admin zusätzlich über Reverse Proxy absichern (z. B. mit Authelia oder Authentik)
  • nur notwendige Ports veröffentlichen

Fazit

Vaultwarden gehört zu den besten Lösungen, wenn man einen leistungsfähigen Passwortmanager selbst hosten möchte. Dank der vollständigen Kompatibilität zu den offiziellen Bitwarden-Apps ist der Umstieg besonders einfach. Gleichzeitig überzeugt Vaultwarden durch seinen geringen Ressourcenverbrauch und eignet sich daher sowohl für kleine Heimserver als auch für professionelle Docker-Umgebungen.

In Kombination mit einem Reverse Proxy wie Traefik, automatischen TLS-Zertifikaten und einer zusätzlichen Authentifizierung über Authelia oder Authentik entsteht eine sichere und komfortable Passwortverwaltung, bei der sämtliche Daten unter eigener Kontrolle bleiben.

Leave a Reply

Your email address will not be published. Required fields are marked *


Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.

WordPress Cookie Plugin von Real Cookie Banner