Deployn

Vaultwarden mit Docker auf einem Synology NAS

Passwort-Manager Vaultwarden auf einem Synology NAS unter Docker installieren.

Vaultwarden mit Docker auf einem Synology NAS-heroimage

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:

SystemanforderungMinimum
CPU0.2 Kerne
RAM128 MB
Speicherplatz200 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 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 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

Vaultwarden Stack

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 Log

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:

Vaultwarden Proxy Host

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

SSL Zertifikat

Die erweiterten Einstellungen mĂŒssen noch angepasst werden.

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 angepasst werden.

Ersteinrichtung und Benutzerverwaltung

Ich rufe anschließend die URL auf, um ein neues Benutzerkonto zu erstellen.

Vaultwarden Login

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.

SMTP Einstellungen

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

Vaultwarden Benutzer

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.

Vaultwarden Update

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.


Diese Website verwendet Cookies. Diese sind notwendig, um die FunktionalitÀt der Website zu gewÀhrleisten. Weitere Informationen finden Sie in der DatenschutzerklÀrung