HTTPS な WordPress を立ち上げるための docker-compose.yml です。
Sponsor Link
環境&対象
以下の環境で動作確認を行なっています。
- Ubuntu 18.04 LTS server
- docker 20.10.8
HTTPS 対応な WordPress を立ち上げる
HTTPS アクセスできる WordPress を立ち上げるための docker-compose.yml です。
検索してもそのものずばりがあまり見つからなかったので、メモしておきます。(直した方が良い設定ありましたら、教えてもらえると助かります)
version: '3'
services:
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '443:443'
links:
- wordpress
restart: always
environment:
DOMAINS: 'ドメイン -> http://wordpress:80'
STAGE: 'production' # Don't use production until staging works
CLIENT_MAX_BODY_SIZE: 200M
# FORCE_RENEW: 'true'
volumes:
- https-portal-data:/var/lib/https-portal
wordpress:
image: wordpress
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: <ユーザー名>
WORDPRESS_DB_PASSWORD: <パスワード>
WORDPRESS_DB_NAME: WordPressDB
volumes:
- wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: WordPressDB
MYSQL_USER: <ユーザー名>
MYSQL_PASSWORD: <パスワード>
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
https-portal-data:
wordpress:
db:
オリジナルサンプルから変更した点
ちなみに、オリジナルはこちら
STAGE: ‘production’
動作確認中はコメントアウトしてましたが、動作確認できたので、production にして運用してます。
ドメイン名が引ける状態で、自サーバーにたどり着けることが必要です。
それぞれのボリュームを明確化
それぞれのコンテナのボリュームを明確化して使うようにしました。
CLIENT_MAX_BODY_SIZE を増やす
アップロードできるファイルサイズに制限があるといろいろと手間なので、増やしました(数値に大きな意味はありません)
MEMO
この設定は、https-portal 側の設定なので、以下のような WordPress側の設定も必要です。
% sudo docker exec -i -t <wordpress container id> /bin/bash
# cd /usr/local/etc/php/conf.d
# cat > uploads.ini
upload_max_filesize = 200M;
post_max_size = 200M;
container を停止して作業する必要があります。
mysql を使用
mariadb のままでも良かったのですが、なんとなく置き換えました。
まとめ:HTTPS な WordPress を立ち上げるための docker-compose.yml
HTTPS な WordPress を立ち上げるための docker-compose.yml
- https-portal を使うと本当に簡単
- CLIENT_MAX_BODY_SIZE を設定しておくと、バックアップからの復元等に便利
説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。
Sponsor Link