femiwiki / Docker Mediawiki
Projects that are alternatives of or similar to Docker Mediawiki
ํ๋ฏธ์ํค ๋ฏธ๋์ด์ํค ์๋ฒ
ํ๊ตญ์ ํ๋ฏธ๋์ฆ ์ํค์ธ femiwiki.com์ ์ฌ์ฉ๋๋ ๋ฏธ๋์ด์ํค ์๋ฒ์ ๋๋ค. Dockerfile, ๋์ปค ์ปดํฌ์ฆ ํ์ผ ๋ฑ ๋ค์ํ ์ฝ๋๋ฅผ ๋ด๊ณ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ memcached, ๊ฐ์ข ๋ด๋ค์ด ์คํ๋ฉ๋๋ค.
Docker Swarm์ ์ด์ฉํด, ์๋์ ๊ฐ์ด ๊ฐํธํ๊ฒ ํ๋ฏธ์ํค๋ฅผ ๋ก์ปฌ์์ ์คํํ ์ ์์ต๋๋ค.
cp configs/secret.php.example configs/secret.php
docker stack deploy --prune -c development.yml mediawiki
ํ๋ฏธ์ํค ๊ฐ๋ฐํ์ค๋์ ์๋ ์ปค๋งจ๋๋ค์ ์ฐธ๊ณ ํด์ฃผ์ธ์.
# ๋์ปค์ด๋ฏธ์ง ๋น๋
docker build -t femiwiki/mediawiki .
# ์์ ๋ ๋์ปค์ด๋ฏธ์ง๋ฅผ ์คํํ ๋์ ์๋์ ๊ฐ์ด
docker service update --force femiwiki_fastcgi
# configs/LocalSettings.php ๊ฒ์ฌ
composer install
composer test
# configs/LocalSettings.php ์๋ ๊ต์
composer fix
Production
ํ๋ฏธ์ํค๋ ํ๋ก๋์ ๋ฐฐํฌ์๋ Docker Swarm์ ์ฌ์ฉํฉ๋๋ค. ํ๋ฏธ์ํค์์ ์ฌ์ฉํ๋ AWS EC2 AMI๋ femiwiki/ami๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
ํ๋ก๋์ ๋ฐฐํฌ๋ฅผ ํ ๋์ secret.php ์์ ๊ฐ๋ฐ์๋ชจ๋๋ฅผ ๋ฐ๋์ ๊บผ์ฃผ์ธ์.
sudo mkdir -p /srv/tweetbot
sudo docker swarm init
sudo docker stack deploy --prune -c ~/mediawiki/production.yml mediawiki
sudo docker stack deploy --prune -c ~/mediawiki/bots.yml bots
See also How to deploy weekly femiwiki to production.
About Docker image
ํ๋ฏธ์ํค๋ฅผ ์ํ PHP-FPM ์๋ฒ์
๋๋ค.
๋์ผํ ์ด๋ฏธ์ง๋ฅผ FASTCGI_ADDR
๊ณผ RESTBASE_ADDR
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ํ caddy run
์ปค๋งจ๋๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ Caddy ์น ์๋ฒ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ ๋ฑ์ ๋ชฉ์ ์ผ๋ก Caddyfile์ ์์ ํ ๋ณ๊ฒฝํด์ผ ํ ๊ฒฝ์ฐ์๋ /srv/femiwiki.com/Caddyfile
์ ๊ต์ฒดํ ์ ์์ต๋๋ค.
๋ค์ ์์ Compose file๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
http:
image: ghcr.io/femiwiki/mediawiki
command: caddy run
ports:
- 80:80
volumes:
- ./caddy/Caddyfile.dev:/srv/femiwiki.com/Caddyfile:ro
fastcgi:
image: ghcr.io/femiwiki/mediawiki
volumes:
- ./configs:/a:ro
The source code of femiwiki/mediawiki is primarily distributed under the terms of the GNU Affero General Public License v3.0 or any later version. See COPYRIGHT for details.