Hoofdstuk 7 · 7.2
Vaultwarden: je eigen wachtwoordkluis
Vaultwarden is een lichte server voor de apps en browserextensies van Bitwarden. Je wachtwoorden staan dan op je eigen VPS. Dat vraagt wel zorg: als je server stuk is of je back-up ontbreekt, ben je je wachtwoorden kwijt.
Elk recept bouwt voort op de werkmap /srv/diensten met Caddy uit Je werkmap met compose.yaml, .env en Caddy. Je voegt een service toe aan compose.yaml, een blok aan het Caddyfile, en een A- en AAAA-record voor de naam (zie Een A- en AAAA-record in Mijn Domeinen).
1. DNS
Maak een A- en AAAA-record voor 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
Kijk op de releasepagina van Vaultwarden welke versie de nieuwste is en zet die in de tag.
3. Caddyfile en 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. Het beheertoken in .env
Het beheerscherm /admin beveilig je met een token. Zet daar geen leesbaar wachtwoord in, maar een hash. Die hash maak je met Vaultwarden zelf, nu de container draait:
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$...'
Zet in .env de regel VW_ADMIN_TOKEN='$argon2id$...', met enkele aanhalingstekens. Start de container opnieuw met sudo docker compose up -d. Inloggen op /admin doe je met het wachtwoord dat je typte, niet met de hash.
5. Registratie dichtzetten
- Open
https://kluis.example.comen maak je eigen account aan, en die van je gezin of collega's. - Zet in
compose.yamlSIGNUPS_ALLOWED: "false". - Voer
sudo docker compose up -duit.
Nieuwe mensen nodig je daarna uit via het beheerscherm. Wil je dat uitnodigingen per mail gaan, stel dan SMTP in via een mailbox op poort 587 (zie Reverse DNS en mail versturen vanaf je VPS).
Back-up
Alles staat in de map /srv/diensten/vw-data: de database, bijlagen en sleutels. Neem die mee in je restic-back-up (zie Databases en Docker-volumes goed meenemen) en test het terugzetten. De wiki van Vaultwarden beschrijft hoe je de database veilig kopieert terwijl hij draait.
Tip: Je apps en browserextensies bewaren een kopie van je kluis. Valt je server even uit, dan kun je je wachtwoorden nog lezen, maar niet wijzigen.
