Rozdział 7 · 7.2
Vaultwarden: własny sejf na hasła
Vaultwarden to lekki serwer dla aplikacji i rozszerzeń przeglądarki Bitwarden. Państwa hasła są wtedy przechowywane na własnym VPS. Wymaga to jednak staranności: jeśli serwer ulegnie awarii lub zabraknie kopii zapasowej, hasła zostaną utracone.
Każdy przepis opiera się na katalogu roboczym /srv/diensten z Caddy z artykułu Katalog roboczy z compose.yaml, .env i Caddy. Dodają Państwo usługę do compose.yaml, blok do Caddyfile oraz rekord A i AAAA dla nazwy (zob. Rekord A i AAAA w Moje domeny).
1. DNS
Prosimy utworzyć rekord A i AAAA dla kluis.example.com.
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
Prosimy sprawdzić na stronie z wydaniami Vaultwarden, która wersja jest najnowsza, i wpisać ją w tagu.
3. Caddyfile i uruchomienie
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. Token administratora w .env
Panel administracyjny /admin zabezpiecza się tokenem. Nie należy wpisywać tam hasła w postaci jawnej, lecz jego hash. Hash ten tworzą Państwo za pomocą samego Vaultwarden, gdy kontener już działa:
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$...'
W pliku .env prosimy wpisać wiersz VW_ADMIN_TOKEN='$argon2id$...', w pojedynczych cudzysłowach. Następnie prosimy ponownie uruchomić kontener poleceniem sudo docker compose up -d. Do /admin logują się Państwo hasłem, które zostało wpisane, a nie hashem.
5. Wyłączenie rejestracji
- Prosimy otworzyć
https://kluis.example.comi utworzyć własne konto oraz konta członków rodziny lub współpracowników. - W pliku
compose.yamlprosimy ustawićSIGNUPS_ALLOWED: "false". - Prosimy wykonać
sudo docker compose up -d.
Nowe osoby zapraszają Państwo później przez panel administracyjny. Jeśli zaproszenia mają być wysyłane e-mailem, prosimy skonfigurować SMTP przez skrzynkę pocztową na porcie 587 (zob. Odwrotny DNS i wysyłanie poczty z serwera VPS).
Kopia zapasowa
Wszystko znajduje się w katalogu /srv/diensten/vw-data: baza danych, załączniki i klucze. Prosimy uwzględnić go w kopii zapasowej restic (zob. Prawidłowe uwzględnianie baz danych i woluminów Docker w kopii zapasowej) i przetestować przywracanie. Wiki Vaultwarden opisuje, jak bezpiecznie skopiować bazę danych podczas jej działania.
Wskazówka: Aplikacje i rozszerzenia przeglądarki przechowują kopię Państwa sejfu. Jeśli serwer chwilowo przestanie działać, nadal można odczytać hasła, ale nie można ich zmieniać.
