HomeBlogÜber

Vaultwarden mit Docker auf einem Synology NAS

Von Jewgeni
Kategorie: Homeserver
May 04, 2023
Update: May 06, 2023
3 Minuten
Vaultwarden mit Docker auf einem Synology NAS

Inhaltsverzeichnis

01
Einführung
02
Voraussetzungen
03
Vorbereitung
04
Vaultwarden Installation
05
Vaultwarden Konfiguration
06
Update Vaultwarden
07
Fazit

Einführung

In einer digitalisierten Welt benötigt jeder Nutzer zahlreiche Passwörter für unterschiedliche Accounts und Anwendungen. Dabei ist es wichtig, dass die Passwörter sicher und gut verwaltet werden, um den Zugriff auf persönliche Daten zu schützen. Ein praktisches Tool zur Verwaltung der Passwörter ist ein Passwort-Manager. Vaultwarden ist eine solche Open-Source-Software, die auch auf einem Synology NAS installiert werden kann. In diesem Artikel erkläre ich passend zum Weltpassworttag, wie man Vaultwarden auf einem Synology NAS unter Docker einrichtet und die Passwörter sicher verwaltet.

Was ist Vaultwarden?

Vaultwarden ist eine freie und Open-Source-Passwortverwaltungsanwendung, die von Bitwarden abstammt. Das selbst-gehostete Passwort-Management-Tool ermöglicht es den Benutzern, ein sicheres Passwort für jede ihrer Anmeldungen zu erstellen und zu speichern. Vaultwarden ist eine großartige Alternative zu anderen proprietären Passwort-Management-Lösungen. Es ist eine einfache, aber leistungsstarke Anwendung, die eine breite Palette von Funktionen bietet, die von Hosting und Management bis hin zu Synchronisation und Integration mit Drittanbietern reicht.

Warum ist es sinnvoll, Vaultwarden über Docker auf einem Synology NAS zu installieren?

Docker ermöglicht es, eine Anwendung in einem Container laufen zu lassen, was bedeutet, dass die Anwendung isoliert und getrennt von anderen Anwendungen und Systemkomponenten läuft. Ein weiterer wichtiger Vorteil der Verwendung von Docker zur Installation von Vaultwarden besteht darin, dass dies Installation, Migrationen und Upgrades erleichtert.

Voraussetzungen

Ich nutze ein Synology NAS. Es handelt sich um ein DS220+(Amazon Affiliate-Link) mit 10 GB RAM(Amazon Affiliate-Link).

So viele Ressourcen sind jedoch nicht für Vaultwarden nötig.

SystemanforderungMinimum
CPU0.2 Kerne
RAM128 MB
Speicherplatz200 MB

Die Anleitung lässt sich auch analog auf andere Geräte mit Docker anwenden.

Ein Reverse-Proxy-Manager im Netzwerk ist nötig, unabhängig davon, ob er sich auf einem anderen Gerät oder dem Synology NAS befindet. Ebenso ist dementsprechend eine Domain sinnvoll.

Vorbereitung

Docker sollte auf dem NAS installiert sein. Zur Einrichtung einer Synology DiskStation habe ich hier mehr geschrieben. Portainer ist grundsätzlich nicht zwingend notwendig, aber hilfreich. Im Folgenden beziehe ich mich auf eine Installation darüber, statt des Container Managers.

Als Nächstes benötige ich einen Ordner, in den ich die persistenten Daten speichern möchte. Ich erstelle einen Ordner namens vaultwarden-data und merke mir den Pfad.

Vaultwarden Datenordner
Vaultwarden Datenordner

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 (links) kann geändert werden
- 3012:3012 # Port (links) kann geändert werden
environment:
- WEBSOCKET_ENABLED=true
- ADMIN_TOKEN=einsicherespasswort # Token für Admin-Login
networks:
- internal

Vaultwarden Stack
Vaultwarden Stack

Nutze ich einen Proxy Manager auf meiner DiskStation, füge ich stattdessen das Netzwerk des Proxy-Managers hinzu und entferne die Portangaben.

Nun kann ich den Stack erstellen und warten, bis der Container läuft.

Im Log des Containers sollte stehen, dass der Server läuft.

Vaultwarden Log
Vaultwarden Log

Vaultwarden Konfiguration

Proxy Einrichtung

Ich richte einen Proxy Host ein. Das Vorgehen ist abhängig vom jeweiligen Reverse Proxy.

Unter Caddy würde es ungefähr so 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
# Hier wieder den ersten
reverse_proxy 192.123.123.40:1234
}

Im Nginx Proxy Manager würde es so aussehen:

Vaultwarden Proxy Host
Vaultwarden Proxy Host

Ich benötige ein Let’s Encrypt Zertifikat, um Vaultwarden über HTTPS erreichbar zu machen.

SSL Zertifikat
SSL Zertifikat

Erweiterte Einstellungen
Erweiterte Einstellungen

# 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 natürlich angepasst werden.

Erstes Login

Ich rufe anschließend die URL auf und erstelle einen neuen Benutzer.

Vaultwarden Login
Vaultwarden Login

Admin Einstellungen

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” kann ich die E-Mail-Einstellungen vornehmen, damit mir Vaultwarden E-Mails schicken kann.

SMTP Einstellungen
SMTP Einstellungen

Benutzer einladen

Unter dem Menüpunkt “Users” kann ich neue Benutzer einladen.

Vaultwarden Benutzer
Vaultwarden Benutzer

Admin Bereich deaktivieren

Ich kann den Admin Bereich auch deaktivieren, indem ich in den Einstellungen meines Proxy Managers die # entferne.

location /admin {
return 404;
}
[...]

Update Vaultwarden

Ein Update von Vaultwarden ist sehr einfach manuell 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.

Vaultwarden Update
Vaultwarden Update

Gibt es ein neues Release, sollte dieses mit dem Vorgehen heruntergeladen und gestartet werden.

Fazit

Vaultwarden ist eine gute Alternative zu Bitwarden. Die Installation ist sehr einfach und die Verwaltung ist auch für mehrere Benutzer sehr einfach. Die Einrichtung eines Reverse Proxies ist zwar etwas aufwendiger, aber auch nicht sehr kompliziert. Ich hoffe ich konnte mit diesem Artikel weiterhelfen.


Tags

#anleitung#docker#homeserver#passwort#synology#vaultwarden
Netcup
Vorheriger Blogpost
Tailwind CSS Framework - Komponenten

Kategorien

Aktuelles
Excel
Finanzen
Gaming
Gatsby
Google
Homeserver
Server
Tailwind
Git
Werbung
Windows

Inhaltsverzeichnis

1
Einführung
2
Voraussetzungen
3
Vorbereitung
4
Vaultwarden Installation
5
Vaultwarden Konfiguration
6
Update Vaultwarden
7
Fazit

Related Posts

Strom sparen mit TLP
April 15, 2022
1 min

Links

KontaktÜber

Social Media