services: mysql: image: mysql:8.4 container_name: gameovergne-mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: gameovergne_app MYSQL_USER: gameovergne MYSQL_PASSWORD: gameovergne volumes: - mysql-data:/var/lib/mysql networks: - gameovergne restart: unless-stopped spring: image: registry.unifihomenetwork.com/gameovergne-api:dev-latest container_name: gameovergne-api depends_on: mysql environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/gameovergne_app?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC SPRING_DATASOURCE_USERNAME: gameovergne SPRING_DATASOURCE_PASSWORD: gameovergne networks: - gameovergne - traefik restart: unless-stopped labels: - traefik.enable=true - traefik.docker.network=traefik - traefik.http.routers.gameovergne-api.rule=Host(`dev.unifihomenetwork.com`) && PathPrefix(`/gameovergne-api`) - traefik.http.routers.gameovergne-api.entrypoints=edge - traefik.http.routers.gameovergne-api.middlewares=gameovergne-api-stripprefix - traefik.http.services.gameovergne-api.loadbalancer.server.port=8080 - traefik.http.middlewares.gameovergne-api-stripprefix.stripprefix.prefixes=/gameovergne-api angular: image: registry.unifihomenetwork.com/gameovergne-client:dev-latest container_name: gameovergne-client depends_on: - spring networks: - gameovergne - traefik restart: unless-stopped labels: - traefik.enable=true - traefik.docker.network=traefik - traefik.http.routers.gameovergne-client.rule=Host(`dev.unifihomenetwork.com`) && (Path(`/gameovergne`) || PathPrefix(`/gameovergne/`)) - traefik.http.routers.gameovergne-client.entrypoints=edge - traefik.http.routers.gameovergne-client.middlewares=gameovergne-slash,gameovergne-client-stripprefix - traefik.http.services.gameovergne-client.loadbalancer.server.port=4200 - traefik.http.middlewares.gameovergne-slash.redirectregex.regex=^(.*/gameovergne)$ - traefik.http.middlewares.gameovergne-slash.redirectregex.replacement=$${1}/ - traefik.http.middlewares.gameovergne-slash.redirectregex.permanent=true - traefik.http.middlewares.gameovergne-client-stripprefix.stripprefix.prefixes=/gameovergne networks: traefik: external: true gameovergne: external: false volumes: mysql-data: