Deployn

Eigener Homeserver - Setup Teil 4 Synology NAS

Synology DiskStation einrichten für Anfänger mit Erläuterungen zu VPN, DDNS über Netcup, Firewall, Nginx Proxy Manager usw.

Eigener Homeserver - Setup Teil 4 Synology NAS-heroimage

In dieser Anleitungsreihe geht es darum seine Homeserver-Umgebung einzurichten. Damit ein Blogpost nicht zu lang wird, habe ich das Set-up in mehrere Beiträge unterteilt. Hier beschäftige ich mich mit meinem Synology NAS. Es ist eine Anleitung für Anfänger und zeigt eine mögliche komplette Einrichtung von a bis z.

Dennoch könnten einige Punkte unklar bleiben. In diesem Fall bitte ich darum die Kommantarfunktion zu nutzen. Ich werde dann gegebenenfalls den Text ergänzen oder einen neuen Blogpost veröffentlichen.

Synology NAS

Schaut man sich bei Google Trends den Vergleich von Synology zu QNAP und Asustor an, sieht man schnell, dass der Hersteller Synology wohl am bekanntesten ist, obwohl nicht mehr so häufig danach gesucht wird wie im Jahr 2014.

Daten aus Google Trends, Grafik erstellt mit Microsoft Excel

Selbstverständlich gibt es noch weitere NAS-Hersteller, auf die ich hier aber nicht eingehen möchte. Ich habe mir vor einiger Zeit eine Synology DS220+(Amazon Affiliate Link) gekauft, insbesondere weil die Möglichkeit gegeben ist, den integrierten RAM zu erweitern.

Die Einrichtung unterscheidet sich nicht sonderlich von der bei einem Asustor NAS, worüber ich vor ein paar Tagen geschrieben habe. Dennoch möchte ich hier noch mal zeigen, wie das Set-up des eigenen Synology NAS aussehen könnte.

Einbau

Zusätzlicher RAM

Vor dem Einschalten muss bei Bedarf zunächst der zusätzliche RAM eingelegt werden. Ich habe mir einen Crucial CT8G4SFS8266 8GB Speicher(Amazon Affiliate Link) gekauft. Leider gibt es keine Garantie dafür, dass der RAM erkannt wird. Beim Einsetzen muss man darauf achten, dass der RAM-Riegel wirklich fest eingesetzt werden muss. Ich habe die ersten paar Mal den RAM zu schwach eingeführt und mein NAS startete weiterhin mit 2 GB. Erst nachdem ich es nochmal probiert habe und ein Klicken hörte, ging es mit 10 GB.

Festplatten

Wie schon bei meinem Asustor NAS, nutze ich auch in der Synology Diskstation kein RAID, obwohl ich 2 Festplatten-Slots habe. RAID ist kein Backup und es ist mir zu teuer, um es neben einem Backup einzusetzen. Außerdem möchte ich lieber eine SSD als Systemplatte, denn das bringt Vorteile bezüglich Geschwindigkeit, Stromverbrauch und Lautstärke. Ich verwende eine ältere Version einer Crucial MX500 500GB SSD(auch Amazon Affiliate Link) quasi als Systemplatte (das DSM wird auf jede Festplatte geschrieben) und eine ältere Version einer Western Digital WD Red Plus 4TB HDD(wieder Amazon Affliate Link) als zusätzlichen Speicherplatz. Prinzipell kann jede HDD genommen werden, ich nutze gerne WD Red oder Seagate Ironwolf.

NAS einrichten

Verbindung zum Netzwerk

In meiner Router-Netzwerk-Anzeige suche ich, nachdem ich das NAS über LAN mit dem Netzwerk verbunden habe, nach der IP-Adresse, die vom DHCP-Server für mein NAS vergeben wurde.

Anzeige der Fritz!Box

Außerdem sorge ich dafür, dass das Gerät immer die gleiche IP-Adresse bekommt.

Fritz!Box DHCP-Einstellungen

Am besten ist es, wenn sich die IP-Adresse außerhalb der DHCP-Range befindet, sie also vom Router nicht vergeben wird. Sollte der Router keine Einstellung dafür haben, eine IP-Adresse fest zu vergeben, lässt sich auch später in den Einstellungen der Synology konfigurieren, dass die IP-Adresse gleich bleibt. Die Änderungen werden erst wirksam, wenn die DiskStation neu startet.

Die IP-Adresse gebe ich nun in meinen Webbrowser ein. Es erscheint ein Web Assistent.

Web Assistent

Bei dem zweiten Bildschirm drücke ich auf “Jetzt installieren”.

Jetzt installieren

Wenn die Installation fertig ist, erstelle ich ein Administratorkonto.

Administratorkonto

Es empfiehlt sich dabei ein starkes Passwort zu verwenden.

Die Verbindung mit Quick-Connect kann erst einmal übersprungen werden. Ich setze auch nicht den Haken beim Freigeben meines Netzwerkstandorts über Synology-Find.

Anschließend landet man auf dem Desktop des DSM.

DSM Desktop

Wenn man eine feste IP-Adresse nicht über den DHCP-Server (Router) einrichten kann, ist dies in der Systemsteuerung unter Netzwerk möglich. Hier einfach “Bearbeiten” auswählen und auf manuell schalten.

Manuelle IP-Adresse

Festplatten einrichten

Jetzt müssen wir die Festplatten als Volume mounten. Dazu den Speichermanager öffnen, der sich unter dem Menübutton verbirgt.

Speichermanager

Unter dem Menüpunkt Speicherpool drücke ich auf erstellen.

Speicherpool erstellen

Im nächsten Schritt wähle ich bessere Leistung, da mir ein Volume pro Pool reicht. Um ehrlich zu sein, weiß ich nicht, ob es ohne RAID einen Unterschied macht, was man hier wählt.

Bessere Leistung

Als RAID-Typ wähle ich Basis.

Basis

Anschließend wähle ich nur die SSD aus.

SSD

Jetzt erstelle ich ein neues Volume.

Volume erstellen

Ich möchte den benutzerdefinierten Weg.

Benutzerdefiniert

Danach wähle ich den gerade erstellten Speicherpool.

Speicherpool

Als Dateityp möchte ich Btrfs. Im Gegensatz zum Asustor NAS kann ich hier dann immer noch Benutzerkontingente anlegen.

Btrfs

Der gesamte Speicher sollte zugewiesen werden.

Speicherplatz

Jetzt wiederhole ich alle Schritte mit der HDD. Am Ende habe ich dann zwei Volumes.

Volumes

Home-Ordner für Benutzer

Jeder Benutzer soll einen Home-Ordner haben, in den er seine Dateien speichern darf. Glücklicherweise ist auch hier (wieder im Gegensatz zum Asustor-System) möglich auszusuchen, wo sich der Ordner befinden soll. In der Systemsteuerung gehe ich dazu auf Benutzer und kann den Home-Dienst aktivieren inklusive Papierkorb.

Home-Dienst

Unter Gemeinsamer Ordner ist nun homes zu sehen, ich drücke auf “Bearbeiten”.

Bearbeiten

Ich möchte nicht, dass mir dieser Ordner in der Netzwerkumgebung angezeigt wird.

Ordner in Netzwerkumbung verstecken

Netzlaufwerk verbinden

Ich möchte jetzt das NAS als Netzlaufwerk verbinden.

Windows

Im Datei-Explorer drücke ich unter “Dieser PC” auf Netzwerkadresse hinzufügen.

Netzwerkadresse hinzufügen

Hier gebe ich nach zwei Backslashs die IP-Adresse des NAS ein, inklusive dem Verzeichnis home.

IP-Adresse

Nachdem ich die Anmeldedaten eingegeben habe, erreiche ich ein leeres Fenster.

Leeres Fenster

Zum Test erstelle ich mal eine Textdatei.

Textdatei

Diese sehe ich inzwischen auch im NAS.

Textdatei im NAS

Android

Ich verwende das Programm CX File Explorer (es geht auch jeder andere, der Netzlaufwerke erstellen kann).

Cx File Explorer File manager app with clean interface to provide easier management of files

In der App erstelle ich einen neuen Speicher unter “Netzwerk”.

Netzwerk in CX File Explorer

Ich wähle SMB. Beim Host kann der Host (Name) des Synology NAS eingegeben werden.

SMB

Am Ende sehe ich auch hier, die eben erstelle Textdatei.

Textdatei

Freigabeordner erstellen

Es ist möglich weitere Freigabeordner über die Systemsteuerung zu erstellen.

Freigabeordner erstellen

Ich erstelle den Ordner backup auf dem Volume 1.

backup

Daten-Prüfsumme finde ich grundsätzlich auch gut.

Daten-Prüfsumme

Ich erteile dem Admin und mir die Rechte zum Lesen und Schreiben.

Rechte

Benachrichtigungen aktivieren

Das NAS soll mir Benachrichtigungen per Mail senden können, das muss aktiviert werden. Das ist in der Systemsteuerung unter “Benachrichtigungen” möglich.

Benachrichtigungen

Festplatten prüfen und bereinigen

Im Speichermanager vergewissere ich mich, dass Benachrichtigungen und der monatliche Bericht aktiviert sind.

Speichermanager

Im Test Planer sollte bereits ein Auto S.M.A.R.T Test vorhanden sein. Ich erstelle einen zusätzlichen Test.

Auto S.M.A.R.T Test

Ich wähle erweiterter Test.

Erweiterter Test

Im Zeitplan stelle ich ein, dass es alle 6 Monate wiederholt werden soll.

Zeitplan

Jetzt erstelle ich beim Speicherpool einen Zeitplan für eine Datenbereinigung.

Datenbereinigung

Hier gebe ich an, wie häufig der Vorgang wiederholt werden soll.

Wiederholung

Als Ziel habe ich alle Pools gewählt.

Ziel

Für die Speicheranalyse lade ich aus dem Paket-Zentrum den Speicher Analysator runter.

Speicher Analysator

Ich möchte einen wöchentlichen Bericht und habe dafür einen neuen Unterordner im Freigabeordner backup erstellt.

Bericht

Ich erstelle mir auch ein Berichtsprofil (ich lasse alle Menüpunkte unverändert, deshalb spare ich mir die Beschreibung). Eventuell sollte man einige Berichtselemente abwählen, wenn sie einem uninteressant erscheinen.

Berichtsprofil

Papierkorb

Nun kann eine automatische Papierkorbleerung aktiviert werden. Das ist im Aufgabenplaner möglich.

Aufgabenplaner

Ich möchte, dass die Leerung jeden Freitag stattfindet.

Zeitplan

Außerdem sollen noch frisch in der Tonne liegende Dateien behalten werden. Erst wenn sie am Freitag schon länger als 14 Tage drin liegen, dürfen sie automatisch gelöscht werden.

Behalten

Dynamische Domain

Wenn man keine DynDNS in der Fritz!Box oder einem anderen Gerät im Heimnetzwerk eingerichtet hat, kann man das in der DiskStation nachholen. Voraussetzung ist eine öffentliche IPv4 Adresse (kein DS-Lite). Diese sollte man zum Beispiel sehen können, wenn man eine Seite wie WieistmeineIP aufruft.

Netcup

Wieder einmal empfehle ich Netcup (Ref-Link). Hier kostet eine .de-Domain 5 € im Jahr (dauerhaft, also auch im zweiten Jahr). Das Gute ist, dass hier auch eine API angeboten wird, über die das NAS die DNS-Einträge ändern kann.

Netcup

Ich möchte jetzt die gekaufte Domain als Adresse für mein Zuhause nutzen, ich benötige dazu den API-Schlüssel und das API-Passwort. Im Gegensatz zum Vorgehen bei der Fritz!Box wird kein zusätzliches Webspace benötigt.

Zunächst installiere ich PHP 7.4 auf dem NAS.

PHP 7.4

Danach erstelle ich den Freigabeordner, in den ich meine Skripte legen möchte.

Freigabeordner

Glücklicherweise hat ein Mitarbeiter von Netcup ein inoffizielles PHP-Skript erstellt. Es soll dafür sorgen, dass die eigene aktuelle IP-Adresse in den DNS-Einstellungen der Domain eingetragen wird. Das Skript von Lars-Sören Steck kann hier heruntergeladen werden.

Skript

Im Skript-Ordner lege ich zwei Unterordner an, für die Root-Domain und die Wildcard-Domain.

Ordner

Bevor ich das Skript in die Ordner reinlege, kopiere ich die Datei config.dist.php und ändere sie zu config.php. Darin passe ich die Werte an. Bei der Zeile mit Host gebe ich ein @ ein. Dadurch wird die Domain ohne Subdomain angepasst.

define(‘HOST’, ’@’);

Dieses Datenpaket lade ich in den ddns_netcup und den ddns_netcup_root Ordner.

Datenpaket

Im ddns_netcup Ordner passe ich die Host-Zeile an.

define(‘HOST’, ’*’);

Damit ändere ich sowohl die Root-Domain als auch jede Subdomain, die nicht genauer definiert ist.

Nun muss das Skript nur noch ausgeführt werden. Dazu eine Aufgabe im Aufgabenplaner erstellen mit benutzerdefiniertem Skript. Als Skript muss jeweils über php das Update-Skript aufgerufen werden.

php volume1/script/ddns_netcup/update.php
php volume1/script/ddns_netcup_root/update.php

Aufgabenplaner

Als Frequenz gebe ich alle 30 Minuten ein. Wenn man weiß, wann sich die IP-Adresse ändert, kann man den Zeitraum natürlich eingrenzen. Man kann natürlich auch eine höhere Frequenz einstellen.

Frequentierung der Aufgabe

Troubleshoot

Wenn es nicht funktioniert, sollte man zunächst gucken, ob die eigene IP-Adresse in den DNS-Einstellungen der Domain auftaucht. Es müsste ein A Eintrag vorhanden sein. Wenn nein, müsste man in den API-Logs schauen, warum nichts aktualisiert wurde.

Manchmal dauert es bis die DNS Einstellung aktualisiert ist. Man kann versuchen unter https://ping.eu/nslookup/ die eigene Domain einzugeben und zu schauen, welche IP-Adresse ausgegeben wird. Ansonsten sollte man auch ein lokales Terminal aufrufen und versuchen mit ping domain.de die Domain zu pingen.

Nutzt man keinen Reverse-Proxy auf einem anderen Gerät, muss man am Router eine Portweiterleitung der Ports 80 und 443 an das Synology NAS einrichten. Als Reverse Proxy kann der eingebaute genutzt werden oder sowas wie Nginx Proxy Manager (dazu später mehr).

Eine Alternative dazu wäre QuickConnect von Synology.

DDNS

Eine andere Möglichkeit ist es unter dem Menüpunkt Externer Zugriff in der Systemsteuerung auf “Hinzufügen” (vordefinierte Dienstanbieter) oder “Anpassen” (Dienstanbieter selbst definieren) zu drücken.

DDNS

Damit kann man auch Dienste wie DuckDNS zurückgreifen, indem unter “Anpassen” ein neuer Dienst angelegt wird.

https://www.duckdns.org/update?ip=MYIP&domains=HOSTNAME&token=PASSWORD

Danach kann ein neuer DDNS-Dienst hinzugefügt werden.

DDNS-Dienst hinzufügen

Sicherheit

Als Nächstes sollte man gegebenenfalls einige Sicherheitseinstellungen vornehmen.

iFrame Einbindung

Die Einbindung als iFrame sollte in der Systemsteuerung deaktiviert werden, solange man diese Funktion nicht benötigt.

Firewall

Als Nächstes sollte die Firewall aktiviert werden.

Unter Regeln bearbeiten lassen sich neue Regeln anlegen. In der ersten Regel möchte ich dem lokalen Netzwerk den Zugriff zu allen Ports erlauben.

Bei der spezifischen IP gebe ich den Bereich 10.0.0.0 - 10.255.255.255 an.

Als Nächstes möchte ich auch dem Bereich zwischen 172.16.0.0 - 172.31.255.255 den Zugriff auf alle Ports erlauben (man könnte auch stattdessen einzelne Dienste auswählen).

Dann benötige ich den Zugriff aus dem Bereich 192.168.0.0 - 192.168.255.255

Als Letztes verweigere ich den Zugriff mit allen anderen IPs. Wichtig ist die Reihenfolge der Regeln, da sie von oben nach unten ausgeführt werden. Packt man die Regel mit “Verweigern” ganz nach oben, werden die restlichen Regeln nicht mehr beachtet.

DoS-Schutz

Als Nächstes aktiviere ich den DoS Schutz.

Standard-Ports ändern

Zuletzt ändere ich die Standard-Ports in den DSM-Einstellungen.

Passwort-Einstellungen

Für alle Benutzer lege ich fest, dass Sonderzeichen im Passwort vorkommen müssen, außerdem sollen schwache Passwörter ausgeschlossen werden.

Für die Admin-Benutzer soll überdies die 2-Faktor-Authentifizierung erzwungen werden.

Daraufhin öffnet sich der Einrichtungsassistent. Es wird eine Authentifizierungsapplikation benötigt. Folgende Software ist unter anderem möglich:

Android - Google Authenticator iOS - Google Authenticator Windows - WinAuth MacOS - Keepas

In der nächsten Anmeldung erscheint die Abfrage zum Token.

Antivirus

Ich installiere mir auch aus dem Paket-Zentrum ein Antivirus Programm.

Hier führe ich einmal den vollständigen Scan aus (sollte nicht allzu lange dauern, wenn das NAS noch ziemlich leer ist).

Danach erstelle ich einen programmierten Scan, einmal die Woche.

VPN

Ich nutze die Synology zwar nicht dafür, es lässt sich aber ein VPN einrichten. Dazu den VPN-Server aus dem Paket-Zentrum herunterladen.

Es erscheint eine Firewall Benachrichtigung. Ich möchte OpenVPN nutzen, also wähle ich nur den Port aus.

Wenn man nicht vorhat den VPN-Dienst aus dem Ausland zu nutzen, kann man die Regel anpassen.

Das sieht dann folgendermaßen aus.

Jetzt muss im neu installierten Programm der OpenVPN-Server aktiviert werden.

Im Router muss für die Synology DiskStation eine Freigabe angelegt werden.

Die Portfreigabe ist nicht nötig, wenn man in seinem Proxy Manager eine Domain auf den Port 1194 des NAS weiterleitet. Wie man einen Nginx-Proxy-Manager zum Laufen bekommt, ist später beschrieben.

Mit der Konfigurationsdatei aus der DiskStation ist es dann möglich eine Verbindung herzustellen. Sie muss dazu in das OpenVPN Programm des Clients (also Computer oder Smartphone) eingebunden werden.

USB Copy

Nun möchte ich grob auf ein paar Anwendungen eingehen. Als Erstes das vorinstallierte USB Copy. Es ist nur dann vorinstalliert, wenn am NAS wie an meiner DS220+ eine USB Copy Taste vorhanden ist.

Dafür erstelle ich einen neuen gemeinsamen Ordner.

Danach aktivere die USB Copy Taste und wähle den neu erstellten Ordner als Ziel aus.

Das war’s schon. Wenn jetzt ein USB-Stick in den Port neben der Taste gesteckt wird und der Kopiervorgang durch die Taste ausgelöst wird, werden alle Dateien des USB-Sticks auf das NAS in den usbcopy Ordner kopiert.

Cloud Sync

Mit der Cloud Sync kann man einige Daten mit Cloud Anbietern synchronisieren.

Zu Auswahl stehen einige Anbieter, darunter auch Box, Dropbox, Google Drive, Microsoft One Drive oder WebDAV.

Bei bidirektionalen Verbindung sollte man darauf achten, dass die Daten in der Cloud gelöscht werden, wenn sie auf dem NAS gelöscht werden.

Docker

Ich nutze für viele Dienste gerne Docker, deshalb möchte ich es auch auf der Synology DiskStation installieren.

Docker Installation

Im Paket-Zentrum befindet sich Docker. Zu beachten ist, dass es sich hierbei zum jetzigen Zeitpunkt um die Version 18.09.0 handelt.

Dabei ist die aktuellste Version gerade 20.10.6. Die Version 18.09 ist in einigen Monaten drei Jahre alt. Synology erzählt zwar, dass Docker für das Paket und die damit verbundenen Updates verantwortlich ist, ich bezweifle jedoch, dass es die gesamte Wahrheit ist. Ich verstehe auch, dass man nicht auf Version 20 upgraden kann, zu viele Dinge könnten nicht mehr kompatibel sein. Aber Version 18.09.9 wäre schon nett gewesen.

Man hat nun zwei Möglichkeiten. Eine Möglichkeit ist es sich über SSH die neuste Docker Engine zu installieren. Vorteil ist, dass man sich so auch Docker-Compose installieren kann. Nachteil ist, es gibt keine grafische Nutzeroberfläche, die Integration ist auch nicht ideal. Ich entscheide mich dafür, die alte Docker-Engine aus dem Paket-Zentrum zu installieren.

Docker Update

Für gewöhnlich sollte man weitere Docker Updates über das Paket-Zentrum erhalten. Sollte das mal nicht der Fall sein, ist es auch möglich sich die neuste Installationsdatei aus dem Synology-Archiv herunterzuladen und als “manuelle Installation” einzuspielen.

Portainer

Als Erstes möchte ich Portainer installieren. Damit lässt sich neuerdings Docker-Compose ausführen. Außerdem lässt sich damit auch ein neues MacVLAN Netzwerk erstellen.

Portainer Installation

Zur Installation von Portainer suche ich in der Registry nach Portainer und wähle das portainer/portainer-ce Image aus.

Portainer Image herunterladen

Im Ordner Docker erstelle ich den Unterordner portainer und den Unterordner davon namens data.

Portainer braucht Root-Zugriff, deshalb ist eine Installation über das Docker-Interface nicht möglich. Es geht aber über den Task-Manager.

Ich erstelle ein benutzerdefiniertes Skript. Es braucht nicht aktiviert zu sein (ich möchte keinen Zeitplan).

Im Zeitplan stelle ich ein vergangenes Datum ein.

In das Feld in den Aufgabeneinstellungen kommt folgender Code:

docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /volume1/docker/portainer/data:/data portainer/portainer-ce

Bei Bedarf kann man den Port 9000 mit einem anderen Port verknüpfen. Möchte man beispielsweise, dass Portainer unter Port 8765 erreichbar ist, ändert man den Code von 9000:9000 zu 8765:9000. Befindet sich der Docker-Ordner nicht auf volume1, muss auch dieser Part angepasst werden.

Sobald die Aufgabe erstellt ist, drücken wir auf ausführen. Nach dem Ausführen passiert zunächst gar nichts. Im Docker-Interface sieht man aber einen neuen Container.

Wir rufen die Portainer Oberfläche auf, indem in einem Webbrowser die IP-Adresse des NAS mit dem oben angegebenen Port aufgerufen wird. Hier kann man sich einen Admin-Account erstellen.

Im nächsten Fenster Docker auswählen. Danach läuft Portainer.

Portainer Update

Irgendwann möchte man auch Portainer aktualisieren. Über die WebGUI ist das nicht möglich, man wird lediglich darauf hingewiesen, dass ein neues Update existiert. Auf Github kann man sich vergangene Veröffentlichungen ansehen.

Zunächst muss man das Image erneut herunterladen.

Portainer Image herunterladen

Anschließend muss man den laufenden Portainer Container stoppen und löschen.

Stoppen und löschen

Danach kann er wieder über die geplante Aufgabe gestartet werden.

Nginx Proxy Manager

Falls nicht bereits ein anderes Gerät als Reverse-Proxy dient, sollte man sich auf dem NAS ein Proxy einrichten. Persönlich nehme ich dafür einen Raspberry Pi (siehe anderer Blogpost) oder noch lieber einen Nuc, aber es ist auch auf dem Synology NAS möglich. Ich möchte den Nginx Proxy Manager benutzen.

Nginx Proxy Manager Vorbereitung

Zunächst erstelle ich einen neuen Freigabeordner.

Diesmal aktivere ich ausnahmsweise mal nicht die erweiterte Dateiintegrität.

Anschließend packe ich drei neue Ordner in diesen Freigabeordner.

volume
├── nginx_proxy_manager
│   ├── data
│   ├── db
│   ├── letsencrypt

Neues MacVLAN Netzwerk

Nginx Proxy Manager benötigt die Ports 80 und 443 zum Laufen, aber das NAS sperrt den Port 443 für eigene Bedürfnisse. In der Liste der Netzwerke füge ich ein neues Netzwerk hinzu.

Ich wähle einen beliebigen Namen und nutze macvlan als Treiber.

Danach muss ich das Netzwerk angeben, es sollte eth0 sein. Bei einem Synology NAS mit zwei LAN Ports, hat man auch noch das Netzwerk eth1, das man nutzen könnte.

Als Subnetz gebe ich den IP-Bereich meines Netzwerks an. Gateway ist die IP-Adresse meines Routers. In der IP-Range wähle ich in diesem Fall den Bereich von 152 bis 159. Das liegt außerhalb der DHCP-Range meines Routers, das heißt der kommt diesem Netzwerk nicht in die Quere.

IPv6 lasse ich unausgefüllt und erstelle das Netzwerk.

Nun füge ich noch ein Netzwerk hinzu. Diesmal nutze ich Creation statt Configuration.

Nginx Proxy Manager Installation

Unter “Stacks” erstelle ich einen neuen Stack.

Das tolle ist, dass Portainer endlich Docker Compose unterstützt. Also geben wir die Docker-Compose Anweisung ein.

version: "3.9"

### Networks ###
networks:
    docker2:
        name: docker2
    internal:
        external: false

### Services ###
services:
    nginx-proxy-manager:
        container_name: nginx-proxy-manager
        image: jc21/nginx-proxy-manager
        restart: always
        networks:
            - docker2
            - internal
        ports:
            - "80:80"
            - "443:443"
            - "81:81"
        environment:
            DB_MYSQL_HOST: npm_db
            DB_MYSQL_PORT: 3306
            DB_MYSQL_USER: npm
            DB_MYSQL_PASSWORD: npm
            DB_MYSQL_NAME: npm
            DISABLE_IPV6: "true"
        volumes:
            - /volume1/nginx_proxy_manager/data:/data
            - /volume1/nginx_proxy_manager/letsencrypt:/etc/letsencrypt
        depends_on:
            - npm_db

    npm_db:
        container_name: npm_db
        image: mariadb
        # image: yobasystems/alpine-mariadb:10.4.17-arm32v7
        # Das untere Image bei einer ARM-CPU benutzen
        restart: always
        networks:
            - internal
        environment:
            MYSQL_ROOT_PASSWORD: npm
            MYSQL_DATABASE: npm
            MYSQL_USER: npm
            MYSQL_PASSWORD: npm
        volumes:
            - /volume1/nginx_proxy_manager/db:/var/lib/mysql

Angepasst werden müsste der Name des Netzwerks, falls ein anderer genutzt wurde. Angepasst werden kann das Passwort. Auch das Volume muss an drei Stellen angepasst werden, wenn man es anders genannt hat. Jetzt muss man etwas warten.

Ich drücke auf nginx-proxy-manager, um zu sehen, welche IP-Adresse er hat. Dies steht ganz unten.

Diese IP-Adresse inklusive Port 81 besuche ich mit meinem Browser und gelange auf diese Seite (also bei mir 192.168.123.152:81).

Hier kann ich mich mit admin@example.com und changeme als Passwort anmelden. Die Anmeldedaten sollten auch gleich geändert werden. Den Zugriff auf die Ports 80 und 443 muss man in der Synology-Firewall erlauben, wenn man sie eingerichtet hat. Nun kann man im Router die Ports 80 und 443 (am besten nicht 81!) für diese IP-Adresse freigeben und hat damit seinen nginx-proxy-manager eingerichtet.

Fehlerbehebung

Was tun, wenn die Verbindung über die Weboberfläche nicht hergestellt werden kann? Zunächst einmal kann man in die Logs der beiden Container schauen, ob dort ein Fehler ersichtlich ist.

Log Button

Anschließend kann man versuchen die Docker-Compose Datei anzupassen und für Datenbankbenutzer, Datanbankname und Datenbankpasswort wieder den Standardwert (“npm”) zu nehmen. Der DB-Host bleibt aber weiterhin bei “npm_db”, wenn man ihn nicht anders genannt hat.

Dann hat man noch die Möglichkeit, andere Images zu nehmen. Wichtig ist es hier, dass man alle Ordner im Verzeichnis nginx-proxy-manager löschen und erneut erstellen sollte, um sicherzugehen, dass dort keine Reste sind, die man nicht mitnehmen möchte, selbst wenn die Ordner leer zu sein scheinen. Das gilt insbesondere für den Datenbank Ordner.

[...]
services:
  nginx-proxy-manager:
    container_name: nginx-proxy-manager
    image: jc21/nginx-proxy-manager
    # image: jc21/nginx-proxy-manager:2.9.14
    # image: jc21/nginx-proxy-manager:2.8
  [...]
  npm_db:
    container_name: npm_db
    image: mariadb
    # image: jc21/nginx-proxy-manager
    # image: mariadb:10.6
    # image: yobasystems/alpine-mariadb
    # image: linuxserver/mariadb

Moments

Ab dem 01. Juni gibt es bei Google Photos keine Möglichkeit mehr seine Bilder vom Handy hochzuladen, ohne dass diese auf den Speicherplatz angerechnet werden. Das ist schade, ein Ersatz dafür könnte Moments sein.

Bei der Installation werden noch ein paar weitere Pakete installiert. Danach muss man sich die Smartphone-App installieren.

Synology Moments
Easy to refresh your special moments in life.

Android - Playstore

iOS - Appstore

In der App kann entweder die lokale IP-Adresse der DiskStation eingegeben werden oder man muss in seinem Proxy Manager eine auf das Heimnetz geroutete Domain an den eingestellten Port weiterleiten. Dann kann man auf Moments auch von unterwegs aus zugreifen.

Die Bilder vom Smartphone werden anschließend automatisch mit dem NAS synchronisiert.

Fertig

Das NAS läuft jetzt. Wenn Fragen offen geblieben sind oder weitere Erläuterungen (auch zu anderen Diensten) folgen sollen, freue ich mich über Kommentare. 😀


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