Anapher/Strive

View on GitHub
src/docker-compose.traefik.yml

Summary

Maintainability
Test Coverage
version: "3.4"

services:
  identity-api:
    environment:
      - IdentityServer__SpaClientHost=https://${FRONTEND_DNS_OR_IP}
      - IdentityServer__Issuer=https://identity.${SITE_HOST}
    labels:
      # Cors Middleware
      - "traefik.http.middlewares.cors.headers.accessControlAllowOriginList=https://${FRONTEND_DNS_OR_IP}"
      - "traefik.http.middlewares.cors.headers.accessControlAllowMethods=*"
      - "traefik.http.middlewares.cors.headers.accessControlAllowHeaders=*,X-Requested-With,X-SignalR-User-Agent"
      - "traefik.http.middlewares.cors.headers.accessControlAllowCredentials=true"
      - "traefik.enable=true"
      - "traefik.http.routers.identity-api.rule=Host(`identity.${SITE_HOST}`)"
      - "traefik.http.routers.identity-api.entrypoints=websecure"
      - "traefik.http.routers.identity-api.middlewares=cors@docker"
      - "traefik.http.routers.identity-api.tls=true"

  strive:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.api.rule=Host(`api.${SITE_HOST}`)"
      - "traefik.http.routers.api.entrypoints=websecure"
      - "traefik.http.services.strive.loadbalancer.healthcheck.path=/health/ready"
      - "traefik.http.routers.api.middlewares=cors@docker"
      - "traefik.http.routers.api.tls=true"
    environment:
      - SFU__UrlTemplate=https://sfu.${SITE_HOST}/{0}
      - Authentication__NoSslRequired=true
      - Authentication__Issuer=https://identity.${SITE_HOST}

  webspa:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.spa.rule=Host(`${FRONTEND_DNS_OR_IP}`)"
      - "traefik.http.routers.spa.entrypoints=websecure"
      - "traefik.http.services.webspa.loadbalancer.healthcheck.path=/health"
      - "traefik.http.routers.spa.tls=true"
    environment:
      - App__IdentityUrl=https://identity.${SITE_HOST}
      - App__FrontendUrl=https://${FRONTEND_DNS_OR_IP}
      - App__ConferenceUrl=https://api.${SITE_HOST}/
      - App__SignalrHubUrl=https://api.${SITE_HOST}/signalr
      - App__EquipmentSignalrHubUrl=https://api.${SITE_HOST}/equipment-signalr

  sfu:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.sfu.rule=Host(`sfu.${SITE_HOST}`)"
      - "traefik.http.routers.sfu.entrypoints=websecure"
      - "traefik.http.services.sfu.loadbalancer.healthcheck.path=/health"
      - "traefik.http.services.sfu.loadbalancer.healthcheck.port=9000"
      - "traefik.http.services.sfu.loadbalancer.server.port=3000"
      - "traefik.http.routers.sfu.middlewares=cors@docker"
      - "traefik.http.routers.sfu.tls=true"