Kapitel 7 · 7.2
Vaultwarden: Ihr eigener Passwort-Tresor
Vaultwarden ist ein schlanker Server für die Apps und Browsererweiterungen von Bitwarden. Ihre Passwörter liegen dann auf Ihrem eigenen VPS. Das erfordert allerdings Sorgfalt: Wenn Ihr Server ausfällt oder Ihr Back-up fehlt, sind Ihre Passwörter verloren.
Jedes Rezept baut auf dem Arbeitsverzeichnis /srv/diensten mit Caddy aus Ihr Arbeitsverzeichnis mit compose.yaml, .env und Caddy auf. Sie fügen einen Service zu compose.yaml hinzu, einen Block zur Caddyfile sowie einen A- und AAAA-Record für den Namen (siehe Ein A- und AAAA-Record in Meine Domains).
1. DNS
Legen Sie einen A- und AAAA-Record für kluis.example.com an.
2. compose.yaml
vaultwarden:
image: vaultwarden/server:1.37.5
restart: unless-stopped
environment:
DOMAIN: "https://kluis.example.com"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: ${VW_ADMIN_TOKEN}
volumes:
- ./vw-data:/data
Sehen Sie auf der Release-Seite von Vaultwarden nach, welche Version die neueste ist, und tragen Sie diese im Tag ein.
3. Caddyfile und Starten
kluis.example.com {
reverse_proxy vaultwarden:80
}
anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
4. Das Admin-Token in .env
Die Verwaltungsoberfläche /admin sichern Sie mit einem Token. Tragen Sie dort kein lesbares Passwort ein, sondern einen Hash. Diesen Hash erzeugen Sie mit Vaultwarden selbst, jetzt, da der Container läuft:
anna@web1:/srv/diensten$ sudo docker compose exec vaultwarden /vaultwarden hash
Password:
Confirm Password:
ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=4$...'
Tragen Sie in .env die Zeile VW_ADMIN_TOKEN='$argon2id$...' ein, mit einfachen Anführungszeichen. Starten Sie den Container mit sudo docker compose up -d neu. Bei /admin melden Sie sich mit dem Passwort an, das Sie eingegeben haben, nicht mit dem Hash.
5. Registrierung schließen
- Öffnen Sie
https://kluis.example.comund legen Sie Ihr eigenes Konto an, sowie die Konten Ihrer Familie oder Ihrer Kollegen. - Setzen Sie in
compose.yamlSIGNUPS_ALLOWED: "false". - Führen Sie
sudo docker compose up -daus.
Neue Personen laden Sie danach über die Verwaltungsoberfläche ein. Sollen Einladungen per E-Mail verschickt werden, richten Sie SMTP über ein Postfach auf Port 587 ein (siehe Reverse DNS und E-Mail-Versand von Ihrem VPS).
Back-up
Alles liegt im Verzeichnis /srv/diensten/vw-data: die Datenbank, Anhänge und Schlüssel. Nehmen Sie es in Ihr restic-Back-up auf (siehe Datenbanken und Docker-Volumes richtig sichern) und testen Sie die Wiederherstellung. Das Wiki von Vaultwarden beschreibt, wie Sie die Datenbank im laufenden Betrieb sicher kopieren.
Tipp: Ihre Apps und Browsererweiterungen speichern eine Kopie Ihres Tresors. Fällt Ihr Server kurz aus, können Sie Ihre Passwörter weiterhin lesen, aber nicht ändern.
