Files
asepharyana-hub/infra/traefik/dynamic/apps.yaml
T
Asep Haryana e19fa76dc3 fix(infra): add teleuploader traefik router for upload hostnames
Restore upload.asepharyana.my.id/.web.id routing lost during Nix migration
(docker label router removed with container). Upload chain uses 2GB body
buffer + dedicated 300/100 rate limit, service targets bun on host:3000.
2026-08-01 12:34:22 +07:00

228 lines
5.5 KiB
YAML

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
# ── LLM API (MiniCPM-V) ──
llm-api:
rule: 'Host(`ai.asepharyana.my.id`) || Host(`ai.asepharyana.web.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- llm-chain@file
service: llm-api-service
# ── Tools (Document Scanner & Media Processing) ──
tools:
rule: 'Host(`tools.asepharyana.my.id`) || Host(`tools.asepharyana.web.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: tools-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
# ── 9Router (AI routing gateway) ──
9router:
rule: 'Host(`9router.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: 9router-service
# ── PR-Agent (GitHub App webhook) ──
pr-agent:
rule: 'Host(`pr-agent.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: pr-agent-service
# ── LIDM Frontend ──
lidm-frontend:
rule: 'Host(`lidm.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: lidm-frontend-service
# ── LIDM Backend API ──
lidm-backend:
rule: 'Host(`lidm-api.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: lidm-backend-service
# ── ZeaVis Edu Frontend ──
zeavisedu:
rule: 'Host(`zeavisedu.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: zeavisedu-service
# ── ZeaVis Edu API ──
api-zeavisedu:
rule: 'Host(`api-zeavisedu.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: api-zeavisedu-service
# ── ZeaVis Edu ML Service ──
ml-zeavisedu:
rule: 'Host(`ml-zeavisedu.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: ml-zeavisedu-service
# ── Hermes Dashboard ──
hermes-dashboard:
rule: 'Host(`dashboard.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: hermes-dashboard-service
# ── GMW Discord Automod Dashboard (Nix: gmw-proxy on 8080) ──
gmw:
rule: 'Host(`imphnen.asepharyana.my.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- common-chain@file
service: gmw-service
# ── TeleUploader (S3 to Telegram Bridge, Nix: bun on 3000) ──
teleuploader:
rule: 'Host(`upload.asepharyana.my.id`) || Host(`upload.asepharyana.web.id`)'
entryPoints:
- websecure
tls: {}
middlewares:
- upload-chain@file
service: teleuploader-service
services:
hub-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:3099'
scraper-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:4091'
tools-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:3500'
llm-api-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:8082'
jaeger-service:
loadBalancer:
servers:
- url: 'http://jaeger:16686'
9router-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:20128'
pr-agent-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:3002'
lidm-frontend-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:3100'
lidm-backend-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:3101'
zeavisedu-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:8088'
api-zeavisedu-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:3200'
ml-zeavisedu-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:8200'
hermes-dashboard-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:9119'
gmw-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:8080'
teleuploader-service:
loadBalancer:
servers:
- url: 'http://host.docker.internal:3000'