Neckrez

Vaultwarden auf einem VPS selbst hosten: Docker, Caddy und HTTPS

Betreiben Sie einen eigenen, Bitwarden-kompatiblen Passwortmanager auf einem VPS mit Docker und Caddy. Einrichtung, Absicherung und Backups in etwa zehn Minuten.

Um Vaultwarden selbst zu hosten, brauchen Sie einen kleinen VPS, Docker und einen Reverse Proxy für HTTPS. Diese Anleitung liefert Ihnen in etwa zehn Minuten einen funktionierenden, Bitwarden-kompatiblen Passwortmanager auf Ihrer eigenen Domain, mit geschlossener Registrierung und Backup-Routine.

Was Vaultwarden von einem VPS braucht

Vaultwarden ist ein schlanker Server in Rust, der die Bitwarden-API spricht. Die offiziellen Bitwarden-Apps und Browser-Erweiterungen verbinden sich wie gewohnt. Ihr Tresor liegt auf einem Server, den Sie kontrollieren.

  • Servergröße - für einen persönlichen oder familiären Tresor reicht der kleinste Tarif.
  • Eine Domain - Bitwarden-Clients verlangen HTTPS, richten Sie also vorab einen A-Record auf die Server-IP ein.
  • Offene Ports - 80 und 443 für Caddy sowie SSH für Sie.

Faustregel: Starten Sie mit dem kleinsten Tarif und vergrößern Sie nur, wenn Sie wirklich Engpässe sehen. Ein Passwort-Tresor ist eine winzige Last.

So geht es bei Neckrez

  • Registrieren - eine E-Mail-Adresse genügt, ohne KYC, Ausweis oder Karte.
  • Guthaben aufladen - Zahlung in Krypto ab $15, zum Beispiel mit USDT in einem günstigen Netzwerk.
  • Tarif, Standort und Betriebssystem wählen - der Tarif Quark mit Ubuntu oder Debian passt gut, in einer Region in Ihrer Nähe.
  • Etwa eine Minute warten - der Server startet mit vollem Root-Zugriff und einer dedizierten IPv4.
  • Stündlich zahlen - die Abrechnung endet, wenn Sie den Server löschen.

Richten Sie die Domain auf die IPv4 aus, melden Sie sich per SSH an und installieren Sie die Pakete:

apt update && apt install -y docker.io docker-compose-v2 caddy
mkdir -p /opt/vaultwarden && cd /opt/vaultwarden
nano docker-compose.yml

Fügen Sie dies in die docker-compose.yml ein und ersetzen Sie die Domain durch Ihre eigene:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "true"
    volumes:
      - ./vw-data:/data
    ports:
      - "127.0.0.1:8080:80"

Starten Sie den Container, Caddy holt das Zertifikat und leitet die Anfragen weiter:

docker compose up -d
echo 'vault.example.com {
    reverse_proxy 127.0.0.1:8080
}' > /etc/caddy/Caddyfile
systemctl reload caddy

Registrierung nach dem ersten Konto schließen

Öffnen Sie https://vault.example.com, legen Sie Ihr Konto an und schalten Sie dann die Registrierung ab, damit sich niemand sonst auf Ihrem Server anmelden kann. Familienmitglieder fügen Sie später hinzu, indem Sie die Registrierung kurz wieder einschalten.

sed -i 's/SIGNUPS_ALLOWED: "true"/SIGNUPS_ALLOWED: "false"/' docker-compose.yml
docker compose up -d

Eine ehrliche Einschränkung: Sie sind jetzt selbst Administrator Ihres Passwortspeichers. Geht der Server verloren und gibt es kein Backup, ist der Tresor weg.

Den Tresor sichern

Alles, was Vaultwarden speichert, liegt im Ordner vw-data. Stoppen Sie den Container, archivieren Sie den Ordner, starten Sie neu und kopieren Sie das Archiv vom Server.

cd /opt/vaultwarden
docker compose stop
tar czf /root/vw-backup-$(date +%F).tar.gz vw-data
docker compose start

Auf Servern von Vultr, DigitalOcean und Hetzner können Sie zusätzlich einen Snapshot auf Abruf erstellen, der 7 Tage gespeichert bleibt. Er ergänzt eine Kopie an anderer Stelle, ersetzt sie aber nicht. Mehr dazu auf der Seite Krypto-VPS-Hosting.

FAQ

Funktionieren die offiziellen Bitwarden-Apps mit Vaultwarden? Ja. Wählen Sie auf dem Anmeldebildschirm den selbst gehosteten Server und geben Sie dessen URL ein.

Geht es ohne Domain? In der Praxis nicht. Die Clients erwarten HTTPS, und Caddy braucht einen Domainnamen, um ein Zertifikat auszustellen.

Jetzt starten

Die Tarife von Neckrez beginnen bei $10 im Monat und werden stündlich abgerechnet, Sie zahlen also nur, solange der Server existiert. Server bereitstellen und den Tresor in wenigen Minuten starten.