self-hosted/wordpress/docker-compose.yml
Lorenzo Carbonell e072e82d9b traefik
2022-06-21 20:02:21 +02:00

71 lines
1.7 KiB
YAML

---
version: '3'
services:
wpdb:
container_name: wpdb
image: mariadb
restart: unless-stopped
volumes:
- ./datadb:/var/lib/mysql
env_file:
- wp.env
networks:
- internal
wpnginx:
container_name: wpnginx
image: nginx:stable-alpine
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./html:/var/www/html
- ./logs:/var/log/nginx/
- ./conf/nginx-wp:/etc/nginx/
links:
- wp
labels:
- traefik.enable=true
- traefik.http.services.wordpress.loadbalancer.server.port=80
- traefik.http.routers.wordpress.entrypoints=web
- traefik.http.routers.wordpress.rule=Host(`${FQDN}`)
- traefik.http.middlewares.wordpress-https-redirect.redirectscheme.scheme=websecure
- traefik.http.routers.wordpress.middlewares=wordpress-https-redirect
- traefik.http.routers.wordpress-secure.entrypoints=websecure
- traefik.http.routers.wordpress-secure.rule=Host(`${FQDN}`)
- traefik.http.routers.wordpress-secure.tls=true
- traefik.http.routers.wordpress-secure.tls.certresolver=letsencrypt
networks:
- proxy
- internal
wp:
container_name: wp
image: wordpress:6.0.0-php8.1-fpm-alpine
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./conf/php.ini:/usr/local/etc/php/php.ini
- ./html:/var/www/html
depends_on:
- wpdb
env_file:
- wp.env
networks:
- internal
wpredis:
container_name: wpredis
image: redis:6
restart: unless-stopped
volumes:
- ./redis:/data
networks:
- internal
networks:
internal:
proxy:
external: true