diff --git a/infra/traefik/dynamic/apps.yaml b/infra/traefik/dynamic/apps.yaml index 925ca52..9181053 100644 --- a/infra/traefik/dynamic/apps.yaml +++ b/infra/traefik/dynamic/apps.yaml @@ -130,6 +130,26 @@ http: - 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: @@ -195,3 +215,13 @@ http: 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' diff --git a/infra/traefik/dynamic/middlewares.yaml b/infra/traefik/dynamic/middlewares.yaml index 868c311..6f99088 100644 --- a/infra/traefik/dynamic/middlewares.yaml +++ b/infra/traefik/dynamic/middlewares.yaml @@ -78,3 +78,23 @@ http: - retry - rate-limit - buffer + + # ── TeleUploader Chain (2GB body buffer — large file uploads) ── + upload-buffer: + buffering: + maxRequestBodyBytes: 2147483648 + maxResponseBodyBytes: 10485760 + memRequestBodyBytes: 1048576 + memResponseBodyBytes: 1048576 + upload-rate-limit: + rateLimit: + average: 300 + burst: 100 + period: 1m + upload-chain: + chain: + middlewares: + - secure-headers + - retry + - upload-rate-limit + - upload-buffer