69 lines
2.1 KiB
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
|