name: wp-gmo services: wordpress: image: wordpress:latest extra_hosts: - "${HOST_NAME}:${HOST_IP}" container_name: ${WP_SITE} restart: always volumes: - /home/docker/wp/wp-site:/var/www/html - ./config/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: wpuser WORDPRESS_DB_PASSWORD: wppassword WORDPRESS_TABLE_PREFIX: wp_ depends_on: db: condition: service_healthy networks: - traefik-net - wp-net labels: - "traefik.enable=true" - "traefik.http.routers.wp-site.rule=Host(`${HOST_NAME}`)" - "traefik.http.routers.wp-site.entrypoints=websecure" - "traefik.http.routers.wp-site.tls=true" - "traefik.docker.network=traefik-net" - "traefik.http.services.wp-site.loadbalancer.server.port=80" # Facultatif mais propre : forcer l'usage du cert SSL défini dans le fichier dynamique - "traefik.http.routers.wp-site.tls.options=default" db: image: mysql:8.4 container_name: ${WP_DB} restart: always volumes: - /home/docker/wp/wp-db:/var/lib/mysql # This is optional!!! - ./dump-db/:/docker-entrypoint-initdb.d environment: MYSQL_DATABASE: wordpress MYSQL_USER: wpuser MYSQL_PASSWORD: wppassword MYSQL_ROOT_PASSWORD: rootpassword networks: - wp-net healthcheck: test: ["CMD","mysqladmin","ping","-h","localhost","-prootpassword"] interval: 10s timeout: 5s retries: 10 phpmyadmin: image: phpmyadmin:latest container_name: ${WP_PMA} restart: always depends_on: - db environment: PMA_HOST: db PMA_USER: root PMA_PASSWORD: rootpassword # ports: # - 8180:80 networks: - traefik-net - wp-net labels: - "traefik.enable=true" - "traefik.http.routers.wp-pma.rule=Host(`${HOST_PMA}`)" - "traefik.http.routers.wp-pma.entrypoints=websecure" - "traefik.http.routers.wp-pma.tls=true" - "traefik.docker.network=traefik-net" - "traefik.http.services.wp-pma.loadbalancer.server.port=80" # Facultatif mais propre : forcer l'usage du cert SSL défini dans le fichier dynamique - "traefik.http.routers.wp-pma.tls.options=default" networks: traefik-net: external: true wp-net: #name: wp-gmo #services: # wordpress: # image: wordpress:latest # extra_hosts: # - "${HOST_NAME}:${HOST_IP}" # container_name: ${WP_SITE} # volumes: # - /home/docker/wp/wp-site:/var/www/html # - ./config/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini # environment: # WORDPRESS_DB_HOST: db # WORDPRESS_DB_NAME: wordpress # WORDPRESS_DB_USER: wpuser # WORDPRESS_DB_PASSWORD: wppassword # WORDPRESS_TABLE_PREFIX: wp_ # depends_on: # - db # - phpmyadmin # restart: always # ports: # - 8080:80 # networks: # - traefik-net # labels: # - "traefik.enable=true" # - "traefik.http.routers.wp-site.rule=Host(`${HOST_NAME}`)" # - "traefik.docker.network=traefik-net" # - "traefik.http.routers.wp-site.entrypoints=websecure" # - "traefik.http.routers.wp-site.tls=true" ## # Facultatif mais propre : forcer l'usage du cert SSL défini dans le fichier dynamique # - "traefik.http.routers.wp-site.tls.options=default" # - "traefik.http.services.wp-site.loadbalancer.server.port=80" # # db: # image: mysql:8.4.8 # container_name: ${WP_DB} # volumes: # - /home/docker/wp/wp-db:/var/lib/mysql # # This is optional!!! # - ./dump-db/:/docker-entrypoint-initdb.d # environment: # MYSQL_DATABASE: wordpress # MYSQL_USER: wpuser # MYSQL_PASSWORD: wppassword # MYSQL_ROOT_PASSWORD: rootpassword # restart: always # ports: # - 3306:3306 # # healthcheck: # test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] # timeout: 5s # retries: 10 # # phpmyadmin: # depends_on: # - db # image: ${PHPADMIN_IMAGE} # container_name: wp-phpmyadmin # restart: always # ports: # - 8180:80 # environment: # PMA_HOST: db # PMA_USER: root # PMA_PASSWORD: rootpassword # networks: # - traefik-net # labels: # - "traefik.enable=true" # - "traefik.http.routers.wp-phpmyadm.rule=Host(`${HOST_PHPMYADM}`)" # - "traefik.docker.network=traefik-net" # - "traefik.http.routers.wp-phpmyadm.entrypoints=websecure" # - "traefik.http.routers.wp-phpmyadm.tls=true" ## # Facultatif mais propre : forcer l'usage du cert SSL défini dans le fichier dynamique # - "traefik.http.routers.wp-phpmyadm.tls.options=default" # - "traefik.http.services.wp-phpmyadm.loadbalancer.server.port=80" # #networks: # traefik-net: # external: true # wp-net: ##volumes: ## db_data: