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:
@@ -1,3 +1,8 @@
|
||||
# Domain configuration
|
||||
DOMAIN=example.tld
|
||||
COMPOSE_PROJECT_NAME=name
|
||||
|
||||
# MySQL
|
||||
MYSQL_DATABASE=
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
MYSQL_USER=
|
||||
|
||||
@@ -2,8 +2,8 @@ services:
|
||||
wordpress:
|
||||
image: wordpress:latest
|
||||
restart: always
|
||||
ports:
|
||||
- 8080:80
|
||||
expose:
|
||||
- 80
|
||||
environment:
|
||||
WORDPRESS_DB_HOST: db
|
||||
WORDPRESS_DB_USER: ${MYSQL_USER}
|
||||
@@ -11,8 +11,16 @@ services:
|
||||
WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
|
||||
volumes:
|
||||
- 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:
|
||||
- walter-coiffure-net
|
||||
- traefik
|
||||
db:
|
||||
image: mariadb:latest
|
||||
restart: always
|
||||
@@ -39,6 +47,8 @@ services:
|
||||
networks:
|
||||
walter-coiffure-net:
|
||||
driver: bridge
|
||||
traefik:
|
||||
external: true
|
||||
volumes:
|
||||
wordpress:
|
||||
db:
|
||||
|
||||
Reference in New Issue
Block a user