version: '3.7' services: db: image: mysql:5.7 restart: always volumes: - "./volumes/db:/var/lib/mysql" environment: - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" - "MYSQL_PASSWORD=${MYSQL_PASSWORD}" - "MYSQL_DATABASE=${MYSQL_DATABASE}" - "MYSQL_USER=${MYSQL_USER}" networks: - internal app: build: "./docker-wordpress" restart: always depends_on: - db volumes: - "./volumes/data:/var/www/html" environment: - "WORDPRESS_DB_HOST=db" - "WORDPRESS_DB_USER=${MYSQL_USER}" - "WORDPRESS_DB_PASSWORD=${MYSQL_PASSWORD}" - "WORDPRESS_DB_NAME=${MYSQL_DATABASE}" #- "WORDPRESS_DEBUG=1" networks: - internal - traefik labels: - "traefik.enable=true" - "traefik.docker.network=${TRAEFIK_NETWORK}" - "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.rule=Host(`${DOMAIN_1}`) || Host(`${DOMAIN_2}`)" - "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.entrypoints=websecure" - "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.tls.certresolver=letsencrypt" #- "traefik.http.routers.${COMPOSE_PROJECT_NAME}-app.middlewares=${COMPOSE_PROJECT_NAME}-basicauth" #- "traefik.http.middlewares.${COMPOSE_PROJECT_NAME}-basicauth.basicauth.users=${BASISAUTH_USER}:${BASICAUTH_PASSWORD}" wpcli: image: wordpress:cli links: - db volumes: - "./volumes/data:/var/www/html" environment: - "WORDPRESS_DB_HOST=db" - "WORDPRESS_DB_USER=${MYSQL_USER}" - "WORDPRESS_DB_PASSWORD=${MYSQL_PASSWORD}" networks: - internal working_dir: "/var/www/html" entrypoint: wp command: "--info" networks: internal: traefik: external: true name: "${TRAEFIK_NETWORK}"