
Um Docker mit dem Reverse-Proxy Traefik v2 auf einem Synology NAS zu betreiben, muss ich die Ports 80 und 443 auf dem Hostsystem nutzen können. Das Betriebssystem des NAS DSM verwendet seinen eigenen Reverse-Proxy, nginx, der versucht, die Ports selbst zu belegen. Unter DSM 6.2 konnte ich die Ports 80 und 443 mithilfe eines Boot-Skripts (change-ports.sh) ändern, wie beschrieben.Hier, sodass die Ports frei wurden und vom Docker Traefik Reverse Proxy verwendet werden konnten.
#! /bin/bash
HTTP_PORT=81
HTTPS_PORT=444
sed -i "s/^\( *listen .*\)80/\1$HTTP_PORT/" /usr/syno/share/nginx/*.mustache
sed -i "s/^\( *listen .*\)443/\1$HTTPS_PORT/" /usr/syno/share/nginx/*.mustache
Nach dem Upgrade von Synology NAS 918+ auf DSM 7 kann ich die Ports 80 und 443 nicht mehr „freigeben“. Offensichtlich funktioniert das Skript nicht und Nginx (von DSM) blockiert immer den Port.
Die Frage ist, wie man den Docker-Reverse-Proxy Traefik unter dem neuen Betriebssystem DSM 7 über Port 80/443 wieder erreichen kann.
Antwort1
Es scheint, als ob die Konfigurationsdateien jetzt direkt in /etc/nginx gespeichert sind
Folgendes hat bei mir funktioniert:
#! /bin/bash
HTTP_PORT=81
HTTPS_PORT=444
sed -i "s/^\( *listen .*\)80/\1$HTTP_PORT/" /etc/nginx/nginx.conf*
sed -i "s/^\( *listen .*\)443/\1$HTTPS_PORT/" /etc/nginx/nginx.conf*
Ich habe im Skript grundsätzlich den Speicherort der nginx-config geändert. Alles andere ist gleich geblieben. Jetzt ist Traefik wieder verfügbar.