====== 2021.04.29 Docker dokuwiki linuxserver ====== ※[[50_dialy:2021:12:30]]こちらにも別のdokuwiki こちらのlinuxserverのdokuwikiはnginxで動きます。 SSL付きのDokuwiki [[https://docs.linuxserver.io/images/docker-dokuwiki]] ===== docker-compose.yml ===== --- version: "2.1" services: https-portal: image: steveltn/https-portal:1 ports: - '80:80' - '443:443' links: - dokuwiki #restart: always restart: unless-stopped environment: DOMAINS: 'dokuwiki.fl8.jp -> http://dokuwiki' #STAGE: 'local' STAGE: 'production' #FORCE_RENEW: 'true' dokuwiki: image: ghcr.io/linuxserver/dokuwiki container_name: dokuwiki environment: - PUID=1000 - PGID=1000 - TZ=Asia/Tokyo volumes: - ./config:/config # - /tmpfs:/var/caceh/nginx #ports: # - 80:80 # - 443:443 #optional restart: unless-stopped ===== 起動 ===== # docker-compose up -d このあと下記へアクセス https://[hostname]/install.php ===== tmpfs ===== tmpfsにfastcgi_cacheを置く場合、tmpfsの設定を入れる tmpfs /tmpfs tmpfs defaults,size=1024m,noatime,mode=1777 0 0 mkdir /tmpfs mount /tmpfs ===== X-Forwared-For ===== https-portalからforwardされてくるので、X-Forwared-Forからアクセス元IPを取得し、real_ipとしてセットする。 set_real_ip_from 172.18.0.0/16; real_ip_header X-Forwarded-For; このX-Forwared-Forを入れないと、dockerの場合[[dokuwiki:plugin:counter]]もうまくカウントしてくれない。 ===== FastCGI cache ===== http{}の中にfastcgi_cache_pathとfastcgi_cache_keyの記述を追加 http { fastcgi_cache_path /var/caceh/nginx levels=1:2 keys_zone=cache-zone:30m max_size=1024M inactive=600m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # With php5-cgi alone: fastcgi_pass 127.0.0.1:9000; # With php5-fpm: #fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include /etc/nginx/fastcgi_params; set $do_not_cache 0; # -- POST or HEAD ? if ($request_method != "GET") { set $do_not_cache 1; } fastcgi_cache cache-zone; fastcgi_cache_valid 200 60m; add_header X-F-Cache $upstream_cache_status; ===== アクセス制限 ===== [[#X-Forwared-For]]してあれば、real_ipで制限できる。 location / { try_files $uri $uri/ @dokuwiki; allow xxx.xxxx.xxx.xxx; deny all; } ===== Error ===== # docker-compose up -d Starting dokuwiki ... error ERROR: for dokuwiki Cannot start service dokuwiki: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"" ERROR: for dokuwiki Cannot start service dokuwiki: oci runtime error: container_linux.go:235: starting container process caused "process_linux.go:258: applying cgroup configuration for process caused \"Cannot set property TasksAccounting, or unknown property.\"" ERROR: Encountered errors while bringing up the project. ==== 対応 ==== 古いバージョンのsystemdにはTaskAccounting が無い これは新しいsystemdにupdateすれば治る # yum update systemd ===== 既存環境からのコピー ===== data、conf、tplのコピー rsync hoge@hogehoge.com:/var/www/html/dokuwiki/data/ config/dokuwiki/data/ rsync hoge@hogehoge.com:/var/www/html/dokuwiki/conf/ config/dokuwiki/conf/ rsync hoge@hogehoge.com:/home/www/public_html/dokuwiki/lib/tpl/dokuwiki/ config/dokuwiki/lib/tpl/dokuwiki/ 後は、既存環境と同じ拡張機能をインストール {{tag>日記 dokuwiki Docker}}