187 lines
4.9 KiB
YAML
187 lines
4.9 KiB
YAML
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-pma.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: |