services: wordpress: image: wordpress restart: always expose: - 80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: ${MYSQL_USER} WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD} 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-net db: image: mysql:8.0 restart: always environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} volumes: - ./db:/var/lib/mysql networks: - walter-coiffure-net redis: image: redis:alpine restart: unless-stopped command: redis-server --requirepass ${REDIS_HOST_PASSWORD} --maxmemory 512mb --maxmemory-policy allkeys-lru networks: - walter-coiffure-net networks: walter-coiffure-net: driver: bridge traefik-net: external: true volumes: wordpress: db: