services: frontend: build: context: ./frontend dockerfile: ../branch-frontend.Dockerfile args: BACKEND_URL: https://bff-${VHOST} restart: unless-stopped networks: - traefik environment: VITE_BACKEND_URL: https://bff-${VHOST} labels: - "traefik.enable=true" - "traefik.http.routers.frontend-${COMPOSE_PROJECT_NAME}.rule=Host(`${VHOST}`)" - "traefik.http.routers.frontend-${COMPOSE_PROJECT_NAME}.tls.certresolver=letsencrypt" bff: build: context: ./bff dockerfile: ../branch-bff.Dockerfile restart: unless-stopped networks: - internal - traefik environment: OAUTH2_ISSUER_URI: https://oauth2-${VHOST} OAUTH2_CLIENT_ID: studentportalen OAUTH2_CLIENT_SECRET: p4ssw0rd FRONTEND_URL: https://${VHOST} BACKEND_API_DAISY: http://mock-apis:8080/daisy labels: - "traefik.enable=true" - "traefik.http.routers.bff-${COMPOSE_PROJECT_NAME}.rule=Host(`bff-${VHOST}`)" - "traefik.http.routers.bff-${COMPOSE_PROJECT_NAME}.tls.certresolver=letsencrypt" oauth2: build: https://gitea.dsv.su.se/DMC/oauth2-authorization-server.git#main #branch=main, it defaults to master restart: unless-stopped networks: - traefik environment: CLIENT_ID: studentportalen CLIENT_SECRET: p4ssw0rd CLIENT_SCOPES: openid profile email offline_access CLIENT_REDIRECT_URI: https://bff-${VHOST}/login/oauth2/code/studentportalen labels: - "traefik.enable=true" - "traefik.http.routers.oauth2-${COMPOSE_PROJECT_NAME}.rule=Host(`oauth2-${VHOST}`)" - "traefik.http.routers.oauth2-${COMPOSE_PROJECT_NAME}.tls.certresolver=letsencrypt" mock-apis: build: https://gitea.dsv.su.se/DMC/apimposter.git#main #branch=main, it defaults to master restart: unless-stopped networks: - internal environment: MOCK_BASE_PATH: / # HTTP base path for the mock server MOCK_FILE_PATH: /mocks volumes: - ./bff/src/mock-api:/mocks networks: internal: name: ${COMPOSE_PROJECT_NAME}_internal traefik: name: traefik external: true