VHostLoom/sites/wordpress-site/docker-compose.yml

52 lines
1.3 KiB
YAML

version: "3.9"
networks:
traefik_proxy:
external: true
wp_net:
external: false
services:
wp_db:
image: mariadb:11
container_name: wordpress_db
restart: unless-stopped
networks:
- wp_net
environment:
- MYSQL_ROOT_PASSWORD=change_root_password
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wpuser
- MYSQL_PASSWORD=change_wp_password
volumes:
- ./db:/var/lib/mysql
wordpress:
image: wordpress:latest
container_name: wordpress_app
restart: unless-stopped
networks:
- traefik_proxy
- wp_net
environment:
- WORDPRESS_DB_HOST=wp_db:3306
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_DB_USER=wpuser
- WORDPRESS_DB_PASSWORD=change_wp_password
- WORDPRESS_HOME=https://example.com/wp
- WORDPRESS_SITEURL=https://example.com/wp
volumes:
- ./wp:/var/www/html
labels:
- "traefik.enable=true"
# HTTPS router for /wp
- "traefik.http.routers.wp-https.rule=Host(`example.com`) && PathPrefix(`/wp`)"
- "traefik.http.routers.wp-https.entrypoints=websecure"
- "traefik.http.routers.wp-https.tls.certresolver=letsencrypt"
- "traefik.http.routers.wp-https.priority=10"
# Uncomment to require Authelia before WP
# - "traefik.http.routers.wp-https.middlewares=authelia-auth@file"