Vaultwarden mit Docker auf einem Synology NAS
Passwort-Manager Vaultwarden auf einem Synology NAS unter Docker installieren.
Inhaltsverzeichnis
Verbesserung der digitalen Sicherheit mit Vaultwarden auf einem Synology NAS
Im heutigen digitalen Zeitalter ist eine sichere Passwortverwaltung nicht mehr wegzudenken. Angesichts der unzÀhligen Konten und Anwendungen, die jeder von uns nutzt, beginnt der Schutz persönlicher Daten mit sicheren Passwörtern. Zur Feier des Welt-Passwort-Tages wollen wir uns mit der Installation von Vaultwarden, einem Open-Source-Passwort-Manager, auf einem Synology NAS mit Docker beschÀftigen.
Vaultwarden kennenlernen
Vaultwarden, ein Bitwarden-Derivat, ist ein kostenloses und quelloffenes Tool, das die Passwortverwaltung vereinfacht. Es ermöglicht Benutzern, eindeutige Passwörter fĂŒr jede Anmeldung zu generieren und sicher zu speichern, und stellt damit eine effektive Alternative zu proprietĂ€ren Passwortmanagern dar. Das Webinterface von Vaultwarden ĂŒberzeugt durch seine Benutzerfreundlichkeit, es bietet auch einen umfassenden Funktionsumfang.
Der Grund fĂŒr die Installation von Vaultwarden mit Docker
Die Nutzung von Docker zur AusfĂŒhrung von Vaultwarden auf einem Synology NAS kapselt die Anwendung in einem Container ein und gewĂ€hrleistet so die Isolierung von anderen Systemkomponenten. Diese Methode vereinfacht Installationen, Migrationen und Updates erheblich.
Voraussetzungen
FĂŒr mein Setup verwende ich ein DS220+(Amazon Affiliate-Link) Synology NAS, das mit 10Â GB RAM(Amazon Affiliate-Link) ausgestattet ist, obwohl die geringen Ressourcenanforderungen von Vaultwarden wie folgt sind:
Systemanforderung | Minimum |
---|---|
CPU | 0.2 Kerne |
RAM | 128 MB |
Speicherplatz | 200 MB |
Die Anleitung lÀsst sich auch analog auf andere Docker-kompatible GerÀte anwenden.
Ein Reverse-Proxy-Manager im Netzwerk ist nötig, unabhÀngig davon, ob er sich auf einem anderen GerÀt oder direkt auf dem Synology NAS gehostet wird. Ebenso ist dementsprechend eine Domain sinnvoll.
Die Vorbereitungen fĂŒr die Installation
Docker sollte auf dem NAS installiert sein. Zur Einrichtung einer Synology DiskStation habe ich hier mehr geschrieben. Portainer ist zwar optional, aber ein nĂŒtzliches Tool fĂŒr die Verwaltung von Containern. Ich werde mich in dieser Anleitung auf die Verwendung von Portainer konzentrieren.
Ich erstelle zunĂ€chst einen eigenen Ordner fĂŒr die persistenten Daten und nenne ihn vaultwarden-data
. Dabei notiere ich mir den Ordnerpfad, da ich ihn spÀter in der docker-compose.yml benötige.
Vaultwarden Installation
NĂ€chster Schritt ist die Installation von Vaultwarden mithilfe von Docker-Compose. Dazu erstelle ich in Portainer einen neuen Stack.
version: "3"
networks:
internal:
external: false
services:
vaultwarden:
container_name: vaultwarden
image: vaultwarden/server
restart: unless-stopped
volumes:
- /pfad-zum-ordner:/data # Pfad zum Ordner auf dem NAS Àndern z.B. /volume1/docker/vaultwarden-data:/data
ports:
- 1234:80 # Port auf der linken Seite kann nach Bedarf geÀndert werden. Der Port auf der rechten Seite muss 80 sein.
- 3012:3012 # Port auf der linken Seite kann nach Bedarf geÀndert werden.
environment:
- WEBSOCKET_ENABLED=true # Aktiviert die Echtzeitsynchronisation
- ADMIN_TOKEN=einsicherespasswort # Token fĂŒr Admin-Login
networks:
- internal
Wenn du einen Proxy-Manager auf der DiskStation verwendest, integriere das Netzwerk des Proxy-Managers und lass die Port-Konfigurationen weg.
Nach der Stack-Erstellung sollte im Log des Containers stehen, dass der Server betriebsbereit ist.
Vaultwarden Konfiguration
Proxy Einrichtung
Das Einrichten eines Proxy-Hosts variiert je nach verwendetem Reverse-Proxy. So könnte es mit Caddy aussehen:
# Hier die Domain eintragen
vaultwarden.domain.de {
encode gzip
# Hier den Port aus der docker-compose.yml eintragen mitsamt der IP des NAS
reverse_proxy /notifications/hub/negotiate 192.123.123.40:1234
# Hier den Port aus der docker-compose.yml fĂŒr den Web Socket eintragen
reverse_proxy /notifications/hub 192.123.123.40:3012
# Wieder auf den ersten Port umleiten
reverse_proxy 192.123.123.40:1234
}
FĂŒr Nginx Proxy Manager:
Ich benötige ein Letâs Encrypt Zertifikat, um Vaultwarden ĂŒber HTTPS erreichbar zu machen.
Die erweiterten Einstellungen mĂŒssen noch angepasst werden.
# location /admin {
# return 404;
# }
location / {
proxy_pass http://192.123.123.40:1234;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /notifications/hub {
proxy_pass http://192.123.123.40:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_pass http://192.123.123.40:1234;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Port und IP-Adresse mĂŒssen angepasst werden.
Ersteinrichtung und Benutzerverwaltung
Ich rufe anschlieĂend die URL auf, um ein neues Benutzerkonto zu erstellen.
Ich logge mich mit dem Admin-Token ein, das ich in der docker-compose.yml angegeben habe. Dazu rufe ich die URL mit /admin
auf.
Dort Ă€ndere ich unter âGeneral Settingsâ die Domain und kann in diesem MenĂŒpunkt auch die Registrierung neuer Benutzer deaktivieren oder auch wieder aktivieren.
Unter âSMTP Email Settingsâ können die E-Mail-Einstellungen vorgenommen werden, damit Vaultwarden E-Mails versenden kann.
Unter dem MenĂŒpunkt âUsersâ kann ich neue Benutzer einladen.
Admin Bereich deaktivieren
Optional lÀsst sich Admin Bereich auch deaktivieren, indem ich in den Einstellungen meines Proxy Managers die #
entferne.
location /admin {
return 404;
}
[...]
Vaultwarden aktualisieren
Ein Update von Vaultwarden ist sehr einfach manuell mit Hilfe von Portainer durchzufĂŒhren. Ich muss lediglich den Stack neu erstellen. Dazu gehe ich in den Editor des Stacks in Portainer und drĂŒcke auf âUpdate the stackâ. Ich wĂ€hle auch aus, dass das Image neu gezogen werden soll.
Gibt es ein neues Release, sollte dieses mit dem Vorgehen heruntergeladen und gestartet werden.
Fazit
Vaultwarden zeichnet sich als eine brauchbare Bitwarden-Alternative aus, mit einfacher Installation und bequemer Verwaltung fĂŒr mehrere Benutzer. Die Konfiguration des Reverse-Proxys ist zwar etwas komplexer, aber mit einer klaren Anleitung ĂŒberschaubar. Ich hoffe, dass diese Anleitung dabei hilft, deine digitale Sicherheit zu erhöhen.
FAQs
Wie kann ich Vaultwarden in Docker auf meinem Synology NAS installieren?
Ich erstelle zunĂ€chst einen eigenen Ordner fĂŒr die persistenten Daten. NĂ€chster Schritt ist die Installation von Vaultwarden mithilfe von Docker-Compose. Dazu erstelle ich in Portainer einen neuen Stack. Nach der Stack-Erstellung sollte im Log des Containers stehen, dass der Server betriebsbereit ist.
Wie kann ich Vaultwarden auf einem Synology NAS aktualisieren?
Ein Update von Vaultwarden ist sehr einfach manuell mit Hilfe von Portainer durchzufĂŒhren. Ich muss lediglich den Stack neu erstellen. Dazu gehe ich in den Editor des Stacks in Portainer und drĂŒcke auf 'Update the stack'. Ich wĂ€hle auch aus, dass das Image neu gezogen werden soll.
Was ist der Unterschied zwischen Vaultwarden und Bitwarden?
Bitwarden und Vaultwarden sind beide Passwortmanager, unterscheiden sich jedoch in ihrer Bereitstellung und Implementierung. Vaultwarden ist eine inoffizielle, selbst gehostete Version von Bitwarden. Es handelt sich um eine alternative Implementierung der Bitwarden-Server-API, die in Rust geschrieben ist und mit den Bitwarden-Clients kompatibel ist. Vaultwarden arbeitet mit SQLite und Postgres und lĂ€uft in einem einzelnen Container, der etwa 30 MB RAM benötigt. Es wird nicht offiziell vom Bitwarden-Team unterstĂŒtzt und richtet sich hauptsĂ€chlich an kleine Unternehmen, Familien und technikbegeisterte Hobbyisten.