サブディレクトリパスにドッキングされたlinuxserver / dokuwikiのNginxルール

サブディレクトリパスにドッキングされたlinuxserver / dokuwikiのNginxルール

/ dokuwikiと入力してコンテナにアクセスできますが、リソースとリンクの両方が混乱しています。 今まで見たこと

dokuwikiコンテナにPHPが含まれているので、nginx設定に何を追加するのかわかりません。数日間、さまざまな構成で動作しようとしましたが、楽しかったです。とにかく関連の詳細は下記にありますので、お時間をいただきありがとうございます。

# Contents of nginx/nginx.conf

    user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;


    upstream docker-adguard-home {
      server adguard-home;
    }

    upstream docker-airsonic {
      server airsonic:4040;
    }

    upstream docker-dokuwiki {
      server dokuwiki;
    }

現在、home.confにはすべてのサービスがあり、すべてのサービスが機能して強化されたら、分割する予定です。

# contents of nginx/conf/home.conf 
server {
        listen 80 default_server;
        listen [::]:80 default_server;
        auth_basic           "Authorized users only";
        auth_basic_user_file /etc/apache2/.htpasswd;


        server_name mydomain.ddns.org 192.168.0.22;

        location /media {
                root /var/www/;
                autoindex               on;
        }

        location /adguard/ {
                proxy_cookie_path / /adguard/;
                proxy_redirect /login.html /adguard/login.html;
                proxy_pass http://docker-adguard-home/;

        }

        location /airsonic {
                proxy_set_header X-Real-IP          $remote_addr;
                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Host   $http_host;
                proxy_set_header Host               $http_host;
                proxy_set_header X-Forwarded-Server $host;
                proxy_max_temp_file_size            0;
                proxy_pass http://docker-airsonic;
                add_header X-Content-Type-Options "nosniff";
                add_header X-Frame-Options SAMEORIGIN;
                add_header X-XSS-Protection "1; mode=block";
                add_header X-Robots-Tag none;
        }

        location /dokuwiki/ {
                proxy_pass http://docker-dokuwiki/;
        }


        location / {
                root /var/www/html/;
                index index.html

                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

}

誰かがコピーしたい場合に備えてDockerを書く

version: '3'
services:
  nginx: 
    image: nginx:1.17-alpine
    container_name: nginx
    restart: always
    volumes:
       - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
       - ./nginx/conf/:/etc/nginx/conf.d/:ro
       - ./nginx/htpasswd:/etc/apache2/.htpasswd:ro
       - ./log/nginx/:/var/log/nginx/
       - ./www/html/:/var/www/html/:ro
       - ./content/Music:/var/www/media/Music:ro
    ports:
      - 80:80
      - 443:443
    networks:
      - reverse-proxy

  adguard-home:
    image: adguard/adguardhome
    container_name: adguard-home
    restart: always    
    volumes:
      - ./adguard/work:/opt/adguardhome/work
      - ./adguard/config:/opt/adguardhome/conf
    ports:
      - 53:53
      - 53:53/udp
    networks:
      - reverse-proxy
    expose:
     - 80

  airsonic:
    image: linuxserver/airsonic
    container_name: airsonic
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Dublin
      - CONTEXT_PATH=/airsonic #optional
      - JAVA_OPTS=-Dserver.use-forward-headers=true
    volumes:
      - ./airsonic/config:/config
      - ./content/Music:/music:ro
      - ./airsonic/playlists:/playlists
      - ./airsonic/podcasts:/podcasts
    restart: unless-stopped
    expose:
      - 4040
    networks:
      - reverse-proxy

  dokuwiki:
    image: linuxserver/dokuwiki
    container_name: dokuwiki
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Dublin
        #- APP_URL=/dokuwiki #optional
    volumes:
      - /dokuwiki:/config
    networks:
      - reverse-proxy
    expose:
      - 80
    restart: unless-stopped

networks:
  reverse-proxy:
    driver: bridge

答え1

この記事を読むすべての人のために。結局、Llanettoを選択しました。マークダウンをレンダリングする何かが必要です。私の問題はPHPに関連していると疑っていましたが、もはや問題にはなりません。 PHPのないフラットファイルwikiをお探しの場合は、ご確認ください。

関連情報