Cette documentation présente un déploiement de WordPress à l’aide de Docker Compose, avec une base de données MySQL, et une exposition du site en HTTPS via Traefik, utilisant des variables d’environnement dans les labels pour une configuration facilement réutilisable.
mon-site.fr
) pointant vers votre serveur.env
contenant les variables suivantes :SERVICE=wordpress
SERVICE_DB=wordpress_db
DB_ROOT_PASSWORD=motdepasse_root
DB_NAME=wordpress
DB_USER=wordpress
DB_PASSWORD=motdepasse_user
URL=mon-site.fr
docker-compose.yml
services:
wordpress_db:
image: mysql:8
container_name: wordpress_db
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- ./data-db:/var/lib/mysql
networks:
- wordpress_net
wordpress:
image: wordpress:6.8.1
container_name: ${SERVICE}
restart: unless-stopped
environment:
- WORDPRESS_DB_HOST=${SERVICE_DB}
- WORDPRESS_DB_NAME=${DB_NAME}
- WORDPRESS_DB_USER=${DB_USER}
- WORDPRESS_DB_PASSWORD=${DB_PASSWORD}
volumes:
- ./data:/var/www/html
networks:
- wordpress_net
- traefik_net
labels:
- "traefik.enable=true"
- "traefik.http.routers.${SERVICE}.entrypoints=websecure"
- "traefik.http.routers.${SERVICE}.rule=Host(`${URL}`)"
- "traefik.http.services.${SERVICE}.loadbalancer.server.port=80"
- "traefik.http.routers.${SERVICE}.tls=true"
- "traefik.http.routers.${SERVICE}.tls.certresolver=http"
- "traefik.docker.network=traefik_net"
networks:
wordpress_net:
name: wordpress_net
driver: bridge
traefik_net:
external: true
Lancez les services en arrière-plan :
docker compose up -d
Si tout est bien configuré, vous pouvez accéder à WordPress à l'adresse :
🔗 https://mon-site.fr
wordpress/
├── docker-compose.yml
├── .env
├── data/
└── data-db/
mon-site.fr
) doit pointer vers l’adresse IP publique du serveur Docker/Traefik.certresolver=http
doit être défini dans la configuration statique de Traefik.Pour arrêter les conteneurs :
docker compose down
Pour les supprimer avec les volumes (base de données incluse) :
docker compose down -v