Dowiedziałem się o NGINX Proxy Manager od znajomego i postanowiłem go skonfigurować aby ułatwić sobie zarządzanie certyfikatami z Let’s Encrypt oraz subdomenami.
Jako że używam NASa firmy QNAP, postanowiłem wykorzystać Container Station dostępny w jego systemie QTS do postawienia kontenera z NGINX Proxy Managerem.
Więc do rzeczy:
1. Musisz zainstalować Container Station w App Center.
2. W ustawieniach systemy QTS musisz wyłączyć wbudowany Web server.
3. Zmienić port https interfejsu swojego Qnapa, domyślny jest ustawiony na 443, ja zmieniłem go na 444 (nowy adres interfejsu to będzie https://TWOJ_IP_QNAPA:444) :
4. Używając Filestation w katalogu Container, który stworzył się automatycznie po instalacji Container Station stwórz folder ngixproxymanager a w nim dwa kolejne foldery data oraz letsencrypt:
5. Teraz przejdź do Container Station > Create > Create Application:
I wklej poniższy kod YAML do okna, które się otworzy (zastępując znajdujące się tam kilka wyrazów). Podmień adres IP 192.168.1.2 na adres swojego interfejsu Qnapa i wciśnij Create:
version: "3"
# guide from https://nginxproxymanager.com/guide/#quick-setup
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
network_mode: "host"
restart: unless-stopped
#ports:
# Public HTTP Port:
#- '81:80'
# Public HTTPS Port:
#- '444:443'
# Admin Web Port:
#- '82:81'
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
# These are the settings to access your db
DB_MYSQL_HOST: 192.168.1.2
DB_MYSQL_PORT: 3307
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# If you would rather use Sqlite uncomment this
# and remove all DB_MYSQL_* lines above
# DB_SQLITE_FILE: "/data/database.sqlite"
# Uncomment this if IPv6 is not enabled on your host
DISABLE_IPV6: 'true'
volumes:
- /share/Container/nginxproxymanager/data:/data
- /share/Container/nginxproxymanager/letsencrypt:/etc/letsencrypt
depends_on:
- db
healthcheck:
test: ["CMD", "/bin/check-health"]
interval: 10s
timeout: 3s
db:
image: 'jc21/mariadb-aria:latest'
ports:
- '3307:3306'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- /share/Container/nginxproxymanager/data/mysql:/var/lib/mysql
6. Na swoim routerze przekieruj porty 443 oraz 80 na adres swojego interfejsu Qnapa:
7. Twój własny NGINX Proxy Manager będzie dostępny pod adresem http://TWOJ_IP_QNAPA:81 :
Gotowe 🙂
Linkografia: