mirror of
https://github.com/zenlm/zen-live.git
synced 2026-10-30 14:57:52 +00:00
52 lines
1.7 KiB
YAML
52 lines
1.7 KiB
YAML
services:
|
|
zen-live:
|
|
build: .
|
|
image: zenlm/zen-live:latest
|
|
container_name: zen-live
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${PORT:-8000}:8000"
|
|
environment:
|
|
# Backend configuration
|
|
- HANZO_API_KEY=${HANZO_API_KEY:-}
|
|
- TRANSLATE_API_URL=${TRANSLATE_API_URL:-}
|
|
- ASR_API_URL=${ASR_API_URL:-}
|
|
- HANZO_NODE_URL=${HANZO_NODE_URL:-}
|
|
- ZEN_OMNI_PATH=${ZEN_OMNI_PATH:-}
|
|
# Authentication
|
|
- ZEN_LIVE_USER=${ZEN_LIVE_USER:-}
|
|
- ZEN_LIVE_PASS=${ZEN_LIVE_PASS:-}
|
|
# Input configuration
|
|
- WHIP_ENABLED=${WHIP_ENABLED:-true}
|
|
- SRT_INPUT_URL=${SRT_INPUT_URL:-}
|
|
- RTMP_INPUT_URL=${RTMP_INPUT_URL:-}
|
|
# Server config
|
|
- PORT=8000
|
|
- MODE=${MODE:-}
|
|
- BASE_URL=${BASE_URL:-https://zen-live.hanzo.ai}
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/status"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
labels:
|
|
# Main UI: zen-live.hanzo.ai
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.zen-live.rule=Host(`zen-live.hanzo.ai`)"
|
|
- "traefik.http.routers.zen-live.entrypoints=websecure"
|
|
- "traefik.http.routers.zen-live.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.zen-live.loadbalancer.server.port=8000"
|
|
# API subdomain: api.zen-live.hanzo.ai
|
|
- "traefik.http.routers.zen-live-api.rule=Host(`api.zen-live.hanzo.ai`)"
|
|
- "traefik.http.routers.zen-live-api.entrypoints=websecure"
|
|
- "traefik.http.routers.zen-live-api.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.zen-live-api.service=zen-live"
|
|
networks:
|
|
- hanzo-network
|
|
|
|
networks:
|
|
hanzo-network:
|
|
name: hanzo-network
|
|
external: true
|