--- version: '3' services: wpdb: container_name: wpdb image: mariadb restart: unless-stopped volumes: - ./datadb:/var/lib/mysql env_file: - wp.env networks: - internal wpnginx: container_name: wpnginx image: nginx:stable-alpine restart: unless-stopped volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - ./html:/var/www/html - ./logs:/var/log/nginx/ - ./conf/nginx-wp:/etc/nginx/ links: - wp labels: - traefik.enable=true - traefik.http.services.wordpress.loadbalancer.server.port=80 - traefik.http.routers.wordpress.entrypoints=web - traefik.http.routers.wordpress.rule=Host(`${FQDN}`) - traefik.http.middlewares.wordpress-https-redirect.redirectscheme.scheme=websecure - traefik.http.routers.wordpress.middlewares=wordpress-https-redirect - traefik.http.routers.wordpress-secure.entrypoints=websecure - traefik.http.routers.wordpress-secure.rule=Host(`${FQDN}`) - traefik.http.routers.wordpress-secure.tls=true - traefik.http.routers.wordpress-secure.tls.certresolver=letsencrypt networks: - proxy - internal wp: container_name: wp image: wordpress:6.0.0-php8.1-fpm-alpine restart: unless-stopped volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - ./conf/php.ini:/usr/local/etc/php/php.ini - ./html:/var/www/html depends_on: - wpdb env_file: - wp.env networks: - internal wpredis: container_name: wpredis image: redis:6 restart: unless-stopped volumes: - ./redis:/data networks: - internal networks: internal: proxy: external: true