====== 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}}