Configure WordPress for Traefik reverse proxy with SSL

Replace direct port binding with Traefik labels to enable automatic HTTPS routing and certificate management. Add domain configuration variables to support dynamic routing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
BeauTroll
2025-12-21 08:05:23 +01:00
parent 0a86c63866
commit 670137472b
2 changed files with 17 additions and 2 deletions

View File

@@ -1,3 +1,8 @@
# Domain configuration
DOMAIN=example.tld
COMPOSE_PROJECT_NAME=name
# MySQL
MYSQL_DATABASE= MYSQL_DATABASE=
MYSQL_ROOT_PASSWORD= MYSQL_ROOT_PASSWORD=
MYSQL_USER= MYSQL_USER=

View File

@@ -2,8 +2,8 @@ services:
wordpress: wordpress:
image: wordpress:latest image: wordpress:latest
restart: always restart: always
ports: expose:
- 8080:80 - 80
environment: environment:
WORDPRESS_DB_HOST: db WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: ${MYSQL_USER} WORDPRESS_DB_USER: ${MYSQL_USER}
@@ -11,8 +11,16 @@ services:
WORDPRESS_DB_NAME: ${MYSQL_DATABASE} WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
volumes: volumes:
- wordpress:/var/www/html - wordpress:/var/www/html
labels:
- "traefik.enable=true"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME}.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME}.entrypoints=websecure"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME}.tls=true"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME}.tls.certresolver=letsencrypt"
- "traefik.http.services.${COMPOSE_PROJECT_NAME}.loadbalancer.server.port=80"
networks: networks:
- walter-coiffure-net - walter-coiffure-net
- traefik
db: db:
image: mariadb:latest image: mariadb:latest
restart: always restart: always
@@ -39,6 +47,8 @@ services:
networks: networks:
walter-coiffure-net: walter-coiffure-net:
driver: bridge driver: bridge
traefik:
external: true
volumes: volumes:
wordpress: wordpress:
db: db: