studentportalen/branch-compose.yaml

69 lines
2.1 KiB
YAML

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