- infra/docker/llm-api.Dockerfile — multi-stage Rust build with cargo-chef - infra/compose/llm-api.yml — service with model volume mount & healthcheck - infra/traefik/dynamic/apps.yaml — router for ai.asepharyana.my.id - CI: build-push workflow detects llm-api changes, builds image - CD: deploy workflow includes llm-api.yml in compose stack
95 lines
2.4 KiB
YAML
95 lines
2.4 KiB
YAML
http:
|
|
routers:
|
|
elysia:
|
|
entryPoints:
|
|
- websecure
|
|
middlewares:
|
|
- common-chain@file
|
|
rule: Host(`elysia.asepharyana.my.id`) || Host(`elysia.asepharyana.web.id`)
|
|
service: elysia-service
|
|
tls: {}
|
|
lidm-backend:
|
|
entryPoints:
|
|
- websecure
|
|
rule: Host(`lidm-api.asepharyana.my.id`) && PathPrefix(`/api`)
|
|
service: lidm-backend-service
|
|
tls: {}
|
|
lidm-frontend:
|
|
entryPoints:
|
|
- websecure
|
|
rule: Host(`lidm.asepharyana.my.id`)
|
|
service: lidm-frontend-service
|
|
tls: {}
|
|
pr-agent:
|
|
entryPoints:
|
|
- websecure
|
|
middlewares:
|
|
- common-chain@file
|
|
rule: Host(`pr-agent.asepharyana.my.id`) || Host(`pr-agent.asepharyana.web.id`)
|
|
service: pr-agent-service
|
|
tls: {}
|
|
react:
|
|
entryPoints:
|
|
- websecure
|
|
rule: Host(`asepharyana.my.id`) || Host(`asepharyana.web.id`)
|
|
service: react-service
|
|
tls: {}
|
|
rust-auth:
|
|
entryPoints:
|
|
- websecure
|
|
middlewares:
|
|
- common-chain@file
|
|
rule: Host(`auth.asepharyana.my.id`) || Host(`auth.asepharyana.web.id`)
|
|
service: rust-auth-service
|
|
tls: {}
|
|
llm-api:
|
|
entryPoints:
|
|
- websecure
|
|
middlewares:
|
|
- common-chain@file
|
|
rule: Host(`ai.asepharyana.my.id`) || Host(`ai.asepharyana.web.id`)
|
|
service: llm-api-service
|
|
tls: {}
|
|
scraper:
|
|
entryPoints:
|
|
- websecure
|
|
middlewares:
|
|
- common-chain@file
|
|
rule: Host(`scraper.asepharyana.my.id`) || Host(`api.asepharyana.my.id`) ||
|
|
Host(`scraper.asepharyana.web.id`) || Host(`api.asepharyana.web.id`)
|
|
service: scraper-service
|
|
tls: {}
|
|
services:
|
|
elysia-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://elysia-api:4092
|
|
lidm-backend-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://lidm-backend:3001
|
|
lidm-frontend-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://lidm-frontend:3000
|
|
pr-agent-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://pr-agent-server:3000
|
|
react-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://react-web:80
|
|
rust-auth-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://rust-auth:3000
|
|
llm-api-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://llm-api:8080
|
|
scraper-service:
|
|
loadBalancer:
|
|
servers:
|
|
- url: http://scraper-api:4091
|