Files
zeavis-edu/docker-compose.yml
T

89 lines
2.7 KiB
YAML
Raw Normal View History

2026-05-22 21:20:56 +00:00
networks:
app-shared-net:
external: true
name: app-shared-net
telemetry-net:
external: true
name: telemetry-net
2026-05-22 21:20:56 +00:00
services:
web:
image: ghcr.io/${GITHUB_REPOSITORY:-mytheclipse/zeavis-edu}/web:main
container_name: zeavis-web
restart: always
networks:
- app-shared-net
- telemetry-net
2026-05-22 21:20:56 +00:00
env_file:
- .env
labels:
traefik.enable: "true"
traefik.http.routers.zeavis-web.rule: Host(`zeavisedu.asepharyana.my.id`)
2026-05-22 21:20:56 +00:00
traefik.http.routers.zeavis-web.entrypoints: websecure
traefik.http.routers.zeavis-web.tls: "true"
traefik.http.routers.zeavis-web.tls.certresolver: cloudflare
2026-05-22 21:20:56 +00:00
traefik.http.services.zeavis-web.loadbalancer.server.port: "80"
api:
image: ghcr.io/${GITHUB_REPOSITORY:-mytheclipse/zeavis-edu}/api:main
container_name: zeavis-api
restart: always
networks:
- app-shared-net
- telemetry-net
ports:
- "${TS_IP:-0.0.0.0}:4006:4006"
2026-05-22 21:20:56 +00:00
env_file:
- .env
environment:
NODE_ENV: production
API_PORT: "4006"
WEB_APP_URL: https://zeavisedu.asepharyana.my.id
ML_SERVICE_URL: ${ML_SERVICE_URL:-http://zeavis-ml:4012}
2026-05-22 21:20:56 +00:00
labels:
traefik.enable: "true"
traefik.http.routers.zeavis-api.rule: Host(`api-zeavisedu.asepharyana.my.id`)
2026-05-22 21:20:56 +00:00
traefik.http.routers.zeavis-api.entrypoints: websecure
traefik.http.routers.zeavis-api.tls: "true"
traefik.http.routers.zeavis-api.tls.certresolver: cloudflare
traefik.http.services.zeavis-api.loadbalancer.server.port: "4006"
2026-05-22 21:20:56 +00:00
# Node Exporter — expose system metrics (CPU, RAM, disk) for Prometheus scraping
node_exporter:
image: prom/node-exporter:v1.8.2
container_name: zeavis-node-exporter
restart: unless-stopped
ports:
- "${TS_IP:-0.0.0.0}:9100:9100"
command:
- "--path.rootfs=/host"
- "--web.listen-address=:9100"
volumes:
- /:/host:ro,rslave
pid: host
networks:
- app-shared-net
- telemetry-net
2026-05-22 21:20:56 +00:00
ml:
image: ghcr.io/${GITHUB_REPOSITORY:-mytheclipse/zeavis-edu}/ml:main
container_name: zeavis-ml
restart: always
networks:
- app-shared-net
- telemetry-net
ports:
- "${TS_IP:-0.0.0.0}:4012:4012"
2026-05-22 21:20:56 +00:00
env_file:
- .env
environment:
MODEL_PATH: /app/model/model.onnx
2026-05-22 21:20:56 +00:00
MODEL_INPUT_SIZE: "224"
labels:
traefik.enable: "true"
traefik.http.routers.zeavis-ml.rule: Host(`ml-zeavisedu.asepharyana.my.id`)
2026-05-22 21:20:56 +00:00
traefik.http.routers.zeavis-ml.entrypoints: websecure
traefik.http.routers.zeavis-ml.tls: "true"
traefik.http.routers.zeavis-ml.tls.certresolver: cloudflare
traefik.http.services.zeavis-ml.loadbalancer.server.port: "4012"