version: "3.9" services: nginx: image: dhi/nginx:latest depends_on: - php volumes: - wp_data:/var/www/html - ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro networks: - web - internal labels: - "traefik.enable=true" - "traefik.docker.network=web" - "traefik.http.routers.${TRAEFIK_ROUTER_NAME}.rule=${TRAEFIK_HOSTRULE}" - "traefik.http.routers.${TRAEFIK_ROUTER_NAME}.entrypoints=${TRAEFIK_ENTRYPOINT}" - "traefik.http.routers.${TRAEFIK_ROUTER_NAME}.tls=true" - "traefik.http.services.${TRAEFIK_ROUTER_NAME}.loadbalancer.server.port=80" php: image: dhi/php:latest depends_on: - db - redis environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: ${MYSQL_DATABASE} WORDPRESS_DB_USER: ${MYSQL_USER} WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD} # Multisite WORDPRESS_CONFIG_EXTRA: | define('WP_ALLOW_MULTISITE', true); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', '${DOMAIN}'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); define('WP_DEBUG', false); define('WP_REDIS_HOST', 'redis'); define('WP_REDIS_PORT', 6379); volumes: - wp_data:/var/www/html networks: - internal db: image: dhi/mysql:latest environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} volumes: - db_data:/var/lib/mysql networks: - internal redis: image: dhi/redis:latest networks: - internal networks: web: external: true # existierendes Traefik-Netz internal: internal: true volumes: wp_data: db_data: