Warnung: Wenn dies ein Ordner ist, wird der gesamte Inhalt einschließlich Unterordner und Dokumente gelöscht.
Definieren Sie pfadbasierte Zugriffsregeln für Bereiche Ihres Wikis. Regeln werden in der Reihenfolge ausgewertet. Die erste Übereinstimmung gewinnt.
Erstellen und verwalten Sie Backups Ihrer Wiki-Daten. Backups umfassen alle Dokumente, Bilder und Konfigurationsdateien.
Nginx Proxy Manager (NPM) ist ein Reverse-Proxy mit Weboberfläche zur Verwaltung von Proxy-Hosts, SSL-Zertifikaten (Let's Encrypt) und Zugriffskontrollen, mit MariaDB als Datenbank-Backend.
Keine.
Tip
Optional
Wenn NPM auch von außerhalb des Heimnetzes erreichbar sein soll, werden zusätzlich folgende Komponenten benötigt:
mkdir /syno/nginx
mkdir /syno/nginx/data
mkdir /syno/nginx/data/letsencrypt
mkdir /syno/nginx/data/mysql
Im Docker-Ordner folgende Verzeichnisstruktur anlegen:
nginx
nginx/data
nginx/data/letsencrypt
nginx/data/mysql
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
network_mode: bridge
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
- DB_MYSQL_HOST=db
- DB_MYSQL_PORT=3306
- DB_MYSQL_USER=<db-user>
- DB_MYSQL_PASSWORD=<db-passwort>
- DB_MYSQL_DATABASE=<db-name>
volumes:
# Für die Proxmox-VM verwenden
- /syno/nginx/data:/data
- /syno/nginx/data/letsencrypt:/etc/letsencrypt
# Für die Synology verwenden
# Volume-Nummer ggf. anpassen
- /volume2/docker/nginx/data:/data
- /volume2/docker/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: '<mysql-root-passwort>'
MYSQL_DATABASE: '<db-name>'
MYSQL_USER: '<db-user>'
MYSQL_PASSWORD: '<db-passwort>'
volumes:
# Für die Proxmox-VM verwenden
- /syno/nginx/data/mysql:/var/lib/mysql
# Für die Synology verwenden
# Volume-Nummer ggf. anpassen
- /volume2/docker/nginx/data/mysql:/var/lib/mysql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u root --password=\"$$MYSQL_ROOT_PASSWORD\" --silent || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
Warning
Datenbank-User, Datenbankname und Passwörter sind im obigen Stack durch Platzhalter ersetzt — siehe Notizen.
http://<host-ip>:81Note
Der Healthcheck des app-Containers nutzt das im Image enthaltene /bin/check-health-Skript. Der Healthcheck des db-Containers prüft per mysqladmin ping die Erreichbarkeit der Datenbank.
| Oberfläche | Service | Host-Pfad | Container-Pfad | Zweck |
|---|---|---|---|---|
| Proxmox-VM | app | /syno/nginx/data |
/data |
NPM-Konfiguration, Proxy-Hosts, Zugriffslisten |
| Proxmox-VM | app | /syno/nginx/data/letsencrypt |
/etc/letsencrypt |
Let's-Encrypt-Zertifikate |
| Proxmox-VM | db | /syno/nginx/data/mysql |
/var/lib/mysql |
MariaDB-Datenbankdateien |
| Synology | app | /volume2/docker/nginx/data |
/data |
NPM-Konfiguration, Proxy-Hosts, Zugriffslisten |
| Synology | app | /volume2/docker/nginx/data/letsencrypt |
/etc/letsencrypt |
Let's-Encrypt-Zertifikate |
| Synology | db | /volume2/docker/nginx/data/mysql |
/var/lib/mysql |
MariaDB-Datenbankdateien |
| Variable | Wert | Bedeutung |
|---|---|---|
DB_MYSQL_HOST |
db |
Hostname der Datenbank (Container-Name) |
DB_MYSQL_PORT |
3306 |
Datenbank-Port |
DB_MYSQL_USER |
(siehe Notizen) | Datenbank-Benutzer |
DB_MYSQL_PASSWORD |
(siehe Notizen) | Datenbank-Passwort |
DB_MYSQL_DATABASE |
(siehe Notizen) | Datenbankname |
| Variable | Wert | Bedeutung |
|---|---|---|
MYSQL_ROOT_PASSWORD |
(siehe Notizen) | Root-Passwort der MariaDB-Instanz |
MYSQL_DATABASE |
(siehe Notizen) | Zu erstellende Datenbank |
MYSQL_USER |
(siehe Notizen) | Zu erstellender Datenbank-Benutzer |
MYSQL_PASSWORD |
(siehe Notizen) | Passwort des Datenbank-Benutzers |
Netzwerkmodus: bridge (beide Services)
Neustart-Verhalten: unless-stopped (beide Services)