Mit Vaultwarden betreiben Sie den Passwort-Manager für sich und Ihr Team auf einem eigenen Seed. Dazu nutzen Sie die offiziellen Bitwarden-Apps für Browser, Smartphone und Desktop und tragen dort Ihren Seed als selbst gehosteten Server ein. Ihre Geräte verschlüsseln Passwörter, Passkeys, TOTP-Codes und sichere Notizen, bevor diese den Seed erreichen. In Organisationen teilen Sie Zugänge über Sammlungen mit Kollegen, und mit Send verschicken Sie Texte oder Dateien als Link mit Ablaufdatum. Dateianhänge, Notfallzugriff und die Zwei-Faktor-Anmeldung per Authenticator-App oder Sicherheitsschlüssel stehen jedem Konto zur Verfügung. Für Vaultwarden fallen keine Lizenzkosten an, der Quellcode ist offen.
Nach dem ersten Start
Auf dem Seed laufen Vaultwarden und Caddy als Docker-Container, Caddy nimmt die HTTPS-Verbindungen an und reicht sie an Vaultwarden weiter. Bis Ihr Tresor bereitsteht, vergehen nach dem Erstellen des Seeds meist 1 bis 3 Minuten. Zum Schluss meldet sich die Installation mit dem Admin-Token an und schreibt die Adresse Ihres Tresors in /root/ready.txt, das Sie per SSH oder in der VNC-Konsole lesen. Scheitert ein Schritt, liegt dort stattdessen failed.txt mit dem Grund, den vollständigen Ablauf zeigt /root/vaultwarden-install.log. Findet sich keine der beiden Dateien, ist die Installation noch nicht abgeschlossen.
Ihr Benutzerkonto legen Sie selbst an. Öffnen Sie die Adresse aus ready.txt, wählen Sie Konto erstellen und vergeben Sie ein Master-Passwort. Aus ihm leitet Ihr Gerät den Schlüssel für Ihren Tresor ab, der Seed bekommt es nie zu sehen, und deshalb kann es auch niemand zurücksetzen. Bis Sie die Registrierung schließen, kann jede Person ein Konto anlegen, die die Adresse kennt. Melden Sie sich deshalb gleich danach unter /admin mit dem Admin-Token aus /root/vaultwarden-credentials.txt an und schalten Sie unter General settings die Option Allow new signups ab.
Weitere Personen laden Sie im Admin-Bereich unter Users mit Invite User ein. Ohne Mailserver erhalten sie keine Einladung per E-Mail, registrieren sich aber mit der eingeladenen Adresse über Konto erstellen. Für Einladungen, Hinweise zum Master-Passwort und Anmeldecodes per E-Mail tragen Sie unter SMTP Email Settings die Daten Ihres Mailservers ein und prüfen sie mit einer Test-Mail.
In den Bitwarden-Apps für Browser, Smartphone und Desktop stellen Sie auf der Anmeldeseite den Server auf selbst gehostet um und tragen die Adresse Ihres Tresors ein. Diese Adresse hinterlegt jedes Mitglied Ihres Teams in seinen Apps, deshalb empfehlen wir von Anfang an eine eigene Domain. Zeigt der A-Record Ihrer Domain auf die IPv4-Adresse des Seeds, stellen Sie Vaultwarden per SSH mit seed-tls domain vault.example.com um. Der Tresor bekommt dabei ein Zertifikat von Let's Encrypt, und die bisherige Adresse leitet auf die Domain weiter.
In /opt/vaultwarden beschreibt die compose.yaml die Container vaultwarden und caddy, die .env enthält die Images mit ihren Versionen, die Adresse Ihres Tresors und unter VAULTWARDEN_ADMIN_TOKEN den Hash des Admin-Tokens. Einstellungen aus dem Admin-Bereich speichert Vaultwarden in config.json, sie haben Vorrang vor der .env. Die Datenbank mit allen verschlüsselten Tresoren, die Dateianhänge und die config.json liegen im Docker-Volume vaultwarden_vw_data, das deshalb in Ihre Sicherung gehört. Für konsistente Backups der laufenden SQLite-Datenbank ist sqlite3 bereits installiert.
Für ein Update ersetzen Sie in der .env den ganzen Wert von VAULTWARDEN_IMAGE einschließlich des @sha256-Teils durch die neue Version, etwa docker.io/vaultwarden/server:1.38.0, und führen in /opt/vaultwarden nacheinander docker compose pull und docker compose up -d aus. Für Caddy gilt dasselbe mit CADDY_IMAGE, Docker selbst aktualisieren Sie mit apt update && apt upgrade. Lesen Sie vorher die Release Notes von Vaultwarden und legen Sie einen Snapshot des Seeds an. Beide Container starten nach einem Neustart des Seeds automatisch.
Unsere Anleitung Vaultwarden als Passwort-Manager einrichten beschreibt, wie Sie Passwörter aus Ihrem bisherigen Passwort-Manager importieren, tägliche Backups per Cronjob einrichten und den Zugriff auf ein VPN beschränken. Die Installation ist auf diesem Seed bereits erledigt, Sie steigen beim Abschnitt „Admin-Panel“ ein. Verzeichnis und Volume heißen wie in der Anleitung.
Passende Modelle
Entry
Der Einstieg für geringe CPU-Last
Standard
Allrounder für wechselnde Produktivlast
Performance
Exklusive Rechenleistung für Dauerlast
Alle 15 passenden Modelle anzeigen
Entry
| Modell | CPU | RAM | Speicher | Traffic | Anbindung | Preis/Stunde | Preis/Monat | |
|---|---|---|---|---|---|---|---|---|
| S | 1 Kern | 2 GB | 20 GB | 10 TB | 1 Gbit/s | 0,005848 € | 3,65 € | |
| M | 2 Kerne | 4 GB | 40 GB | 10 TB | 1 Gbit/s | 0,011694 € | 7,29 € | |
| L | 4 Kerne | 8 GB | 80 GB | 10 TB | 1 Gbit/s | 0,023389 € | 14,59 € | |
| XL | 8 Kerne | 16 GB | 160 GB | 10 TB | 1 Gbit/s | 0,038312 € | 23,91 € |
Standard
| Modell | CPU | RAM | Speicher | Traffic | Anbindung | Preis/Stunde | Preis/Monat | |
|---|---|---|---|---|---|---|---|---|
| XS | 1 Kern | 4 GB | 40 GB | 20 TB | 2,5 Gbit/s | 0,014303 € | 8,93 € | |
| S | 2 Kerne | 8 GB | 80 GB | 20 TB | 2,5 Gbit/s | 0,024579 € | 15,34 € | |
| M | 4 Kerne | 16 GB | 160 GB | 20 TB | 2,5 Gbit/s | 0,049158 € | 30,68 € | |
| L | 8 Kerne | 24 GB | 240 GB | 20 TB | 2,5 Gbit/s | 0,093740 € | 58,49 € | |
| XL | 10 Kerne | 32 GB | 360 GB | 20 TB | 2,5 Gbit/s | 0,120608 € | 75,26 € | |
| XXL | 16 Kerne | 64 GB | 500 GB | 20 TB | 2,5 Gbit/s | 0,188623 € | 117,70 € |
Performance
| Modell | CPU | RAM | Speicher | Traffic | Anbindung | Preis/Stunde | Preis/Monat | |
|---|---|---|---|---|---|---|---|---|
| S | 2 Kerne | 16 GB | 80 GB | 20 TB | 10 Gbit/s | 0,070561 € | 44,03 € | |
| M | 4 Kerne | 32 GB | 160 GB | 20 TB | 10 Gbit/s | 0,141122 € | 88,06 € | |
| L | 8 Kerne | 64 GB | 240 GB | 20 TB | 10 Gbit/s | 0,277666 € | 173,26 € | |
| XL | 16 Kerne | 128 GB | 360 GB | 20 TB | 10 Gbit/s | 0,548467 € | 342,24 € | |
| XXL | 32 Kerne | 192 GB | 500 GB | 20 TB | 10 Gbit/s | 1,011118 € | 630,94 € |
Über die Public API erstellen
Ein einziger Aufruf erstellt diesen Seed. Ersetzen Sie die Platzhalter, die mit $ beginnen, durch Ihre Werte, etwa Ihren API-Token und die IDs aus Ihrem Account. Zur Public API
curl -X POST "https://api.dataforest.net/api/v1/public/seeds" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"plan": "lines/standard/models/std1-xs",
"location": "fra01",
"source": {
"type": "app",
"ref": "apps/vaultwarden/versions/vaultwarden-v1.37.3"
},
"project_id": "$PROJECT_ID",
"name": "vaultwarden"
}'