++ nginx-php-fpm

Änderungsstand: 2020-05-14

Traefik2 läuft, SSL wurde eingebunden, Nextcloud und WordPress verrichten nun auch ihre Dienste. Jetzt wird es Zeit, eigene PHP-Sites von Aussen erreichbar zu machen. Natürlich auch mit SSL über Traefik von Aussen verschlüsselt und mit Passwortschutz abgesichert und auch von Innen erreichbar, was mir sehr wichtig war. Ohne weitere Erklärung mein Endresultat, basierend auf dem vorhergehenden Guide, wo Traefik2.2 und MariaDB (mymariadb) installiert wurde.

sudo mkdir /home/dockervolumes/nginx
sudo nano /home/dockervolumes/nginx/docker-compose.yml
version: '3.3'

services:
  nginx-php-fpm:
    image: virose/nginx-php-fpm
    container_name: nginx-php-fpm
    restart: always
    ports:
      - '3202:80'
      - '446:443'
    volumes:
      - '/home/pi/website:/var/www/html'
    external_links:
       - mymariadb
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.nginx.entrypoints=http"
      - "traefik.http.routers.nginx.rule=Host(`nginx.knilix.duckdns.org`)"
## Passwortabfrage
      - "traefik.http.middlewares.nginx-auth.basicauth.users=admin:$$apr1$$2W74R0Cf$$HD9TjPUXTtDIfbdFU3FtN."
##################
      - "traefik.http.routers.nginx.middlewares=https-redirect@file"
      - "traefik.http.routers.nginx-secure.entrypoints=https"
      - "traefik.http.routers.nginx-secure.rule=Host(`nginx.knilix.duckdns.org`)"
      - "traefik.http.routers.nginx-secure.middlewares=secHeaders@file"
## Passwortabfrage
      - "traefik.http.routers.nginx-secure.middlewares=nginx-auth"
##################
      - "traefik.http.routers.nginx-secure.tls.certresolver=lets-encr"

    networks:
      - intern
      - traefik-net

networks:
  intern:
    external: true
  traefik-net:
    external: true

STRG-x, y, Enter

cd /home/dockervolumes/nginx && sudo docker-compose up -d

Wurde jetzt schon die selbst erstellte Website unter /home/pi/website abgelegt, ist diese nun über nginx.knilix.duckdns.org erreichbar. Ebenfalls über Server-IP:3202 (da allerdings unverschlüsselt, was aber keine große Rolle spielt, weil es ein interner Zugriff ist).

Quelle: https://hub.docker.com/r/virose/nginx-php-fpm