version: '3.3' services: db: image: mysql:5.7 volumes: - ${VOLUMES_DIR}/db:/var/lib/mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} networks: - baikal_internal baikal: depends_on: - db build: context: . dockerfile: Dockerfile ports: - "${EXPOSE_PORT}:80" environment: CONTAINER_DOMAIN_NAME: ${DOMAIN_NAME} CONTAINER_HOST_NAME: ${HOST_NAME} restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.baikal.rule=Host(`${HOST_NAME}.${DOMAIN_NAME}`)" - "traefik.http.routers.baikal.tls=true" - "traefik.http.routers.baikal.tls.certresolver=${CERT_RESOLVER}" - "traefik.http.middlewares.baikal-base-redir.redirectregex.permanent=true" - "traefik.http.middlewares.baikal-base-redir.redirectregex.regex=^http(.?)://(.*)/${PATH_PREFIX}(.*)" - "traefik.http.middlewares.baikal-base-redir.redirectregex.replacement=https://${HOST_NAME}.${DOMAIN_NAME}$$3" - "traefik.http.routers.baikal-nosub.rule=(Host(`${DOMAIN_NAME}`) || Host(`www.${DOMAIN_NAME}`)) && PathPrefix(`/${PATH_PREFIX}`)" - "traefik.http.routers.baikal-nosub.middlewares=baikal-base-redir@docker" - "traefik.http.routers.baikal-nosub.tls=true" - "traefik.http.routers.baikal-nosub.tls.certresolver=${CERT_RESOLVER}" - "traefik.http.middlewares.baikal-wellknown-redir.redirectregex.permanent=true" - "traefik.http.middlewares.baikal-wellknown-redir.redirectregex.regex=^(.*)" - "traefik.http.middlewares.baikal-wellknown-redir.redirectregex.replacement=https://${HOST_NAME}.${DOMAIN_NAME}/dav.php" - "traefik.http.routers.baikal-wellknown.rule=(Host(`${DOMAIN_NAME}`) || Host(`www.${DOMAIN_NAME}`)) && (Path(`/.well-known/caldav`) || Path(`/.well-known/carddav`))" - "traefik.http.routers.baikal-wellknown.middlewares=baikal-wellknown-redir@docker" - "traefik.http.routers.baikal-wellknown.tls=true" - "traefik.http.routers.baikal-wellknown.tls.certresolver=${CERT_RESOLVER}" - "traefik.docker.network=traefik_network" volumes: - ${VOLUMES_DIR}/Specific:/var/www/html/Specific networks: - baikal_internal - traefik_network networks: baikal_internal: traefik_network: external: true name: traefik_network