http: routers: # ── Hub (Portfolio SPA) ── hub: rule: 'Host(`asepharyana.my.id`) || Host(`www.asepharyana.my.id`) || Host(`asepharyana.web.id`) || Host(`www.asepharyana.web.id`)' entryPoints: - websecure tls: {} middlewares: - common-chain@file service: hub-service # ── Scraper API ── scraper: rule: 'Host(`scraper.asepharyana.my.id`) || Host(`api.asepharyana.my.id`) || Host(`scraper.asepharyana.web.id`) || Host(`api.asepharyana.web.id`)' entryPoints: - websecure tls: {} middlewares: - common-chain@file service: scraper-service # ── Jaeger UI ── jaeger: rule: 'Host(`jaeger.asepharyana.my.id`) || Host(`jaeger.asepharyana.web.id`)' entryPoints: - websecure tls: {} middlewares: - common-chain@file service: jaeger-service services: hub-service: loadBalancer: servers: - url: 'http://hub:3000' scraper-service: loadBalancer: servers: - url: 'http://scraper-api:4091' jaeger-service: loadBalancer: servers: - url: 'http://jaeger:16686' # ── LSAR Frontend ── lidm-frontend: rule: 'Host(`lidm.asepharyana.my.id`)' entryPoints: - websecure tls: {} middlewares: - common-chain@file service: lidm-frontend-service # ── LSAR Backend API ── lidm-backend: rule: 'Host(`lidm-api.asepharyana.my.id`)' entryPoints: - websecure tls: {} middlewares: - common-chain@file service: lidm-backend-service services: lidm-frontend-service: loadBalancer: servers: - url: 'http://lidm-frontend:3000' lidm-backend-service: loadBalancer: servers: - url: 'http://lidm-backend:3001'