Die Synology bringt zwar einen ReverseProxy mit, aber der NPM bietet einige Vorteile z.b. das man seine Subdomains nur an einer Stelle verwaltet inkl. der Zertifikate, man kann HTTPS einfacher erzwingen und es zeigen die offenen Ports nicht auf die Synology sondern auf einen Container (Sicherheit). Deshalb ist hier nur der Installationsschritt für VM und RPI drin.
Wer noch keine Domain hat die er mit Dyndns nutzen kann sollte mal bei https://www.do.de/ gucken.
Eine Domain die auf den Router zeigt
Port 80/443 werden vom Router zum NPM weiter geleitet
Als erstes legen wir die Laufwerke an.
mkdir /syno/nginx mkdir /syno/nginx/data mkdir /syno/nginx/data/letsencrypt mkdir /syno/nginx/data/mysql
nun öffnen wir den Portainer und legen einen Stack an
Name: nginxproxymanager
version: '3' services: app: image: 'jc21/nginx-proxy-manager:latest' network_mode: bridge ports: - '80:80' - '81:81' //das ist der Port worüber die Verwaltungsoberfläche aufgerufen wird, die erste Zahl kann nach eigenem Wunsch geändert werden - '443:443' environment: - DB_MYSQL_HOST=db - DB_MYSQL_PORT=3306 - DB_MYSQL_USER=npm //muss geänder werden muss dann aber auch unten unter mysql angepasst werden - DB_MYSQL_PASSWORD=npm //muss geänder werden muss dann aber auch unten unter mysql angepasst werden - DB_MYSQL_DATABASE=npm //muss geänder werden muss dann aber auch unten unter mysql angepasst werden volumes: - /syno/nginx/data:/data - /syno/nginx/data/letsencrypt:/etc/letsencrypt healthcheck: test: ["CMD", "/bin/check-health"] interval: 10s timeout: 3s restart: unless-stopped db: image: 'yobasystems/alpine-mariadb:latest' network_mode: bridge environment: MYSQL_ROOT_PASSWORD: 'npm' //das Root-PW für die DB, es sollte entsprechend sicher gewählt werden MYSQL_DATABASE: 'npm' //siehe oben MYSQL_USER: 'npm' //siehe oben MYSQL_PASSWORD: 'npm' //siehe oben volumes: - /syno/nginx/data/mysql:/var/lib/mysql restart: unless-stopped
Die Passwörter (es darf kein $ im Passwort sein), der User und der DB Name kann geändert werden, also alles wo im Code npm steht.
Danach lässt sich der NPM mit
http://192.168.xxx.yyy:81
aufrufen.
Die Standard Anmeldung lautet
Email: admin@example.com Password: changeme
Diese sollten sofort geändert werden nach der ersten Anmeldung
Die eigenen Host (Subdomains) lassen sich nun unter Proxy Hosts hinzufügen.