services: caddy: image: caddy:2.11-alpine container_name: caddy restart: unless-stopped network_mode: "host" volumes: - ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro - ./caddy_data:/data - ./caddy_config:/config redis: image: redis:8.4.0-alpine container_name: redis restart: unless-stopped network_mode: "host" volumes: - ./redis.conf:/etc/redis.conf:ro command: ["redis-server", "/etc/redis.conf"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 10 livekit-server: image: livekit/livekit-server:v1.9.9 container_name: livekit-server restart: unless-stopped network_mode: "host" volumes: - ./livekit.yaml:/etc/livekit.yaml:ro command: ["--config", "/etc/livekit.yaml"] depends_on: redis: condition: service_healthy livekit-ingress: image: livekit/ingress:v1.4.0 container_name: livekit-ingress restart: unless-stopped network_mode: "host" environment: INGRESS_CONFIG_FILE: /etc/ingress.yaml volumes: - ./ingress.yaml:/etc/ingress.yaml:ro depends_on: redis: condition: service_healthy livekit-server: condition: service_started