- Create comfy-agent service with FastAPI + NATS integration - ComfyUI client with HTTP/WebSocket support - REST API: /generate/image, /generate/video, /status, /result - NATS subjects: agent.invoke.comfy, comfy.request.* - Async job queue with progress tracking - Docker compose configuration for NODE3 - Update PROJECT-MASTER-INDEX.md with NODE2/NODE3 docs Co-Authored-By: Warp <agent@warp.dev>
104 lines
2.8 KiB
YAML
104 lines
2.8 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# DAGI Router для NODE3
|
|
dagi-router-node3:
|
|
build:
|
|
context: ./services/router
|
|
dockerfile: Dockerfile
|
|
container_name: dagi-router-node3
|
|
ports:
|
|
- "9102:9102"
|
|
environment:
|
|
- NATS_URL=nats://144.76.224.179:4222
|
|
- ROUTER_CONFIG_PATH=/app/router_config.yaml
|
|
- LOG_LEVEL=info
|
|
- NODE_ID=node-3-threadripper-rtx3090
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ./services/router/router_config.yaml:/app/router_config.yaml:ro
|
|
- ./logs:/app/logs
|
|
networks:
|
|
- dagi-network
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9102/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
# Swapper Service для NODE3
|
|
swapper-service-node3:
|
|
build:
|
|
context: ./services/swapper-service
|
|
dockerfile: Dockerfile
|
|
container_name: swapper-service-node3
|
|
ports:
|
|
- "8890:8890"
|
|
- "8891:8891" # Metrics
|
|
environment:
|
|
- OLLAMA_BASE_URL=http://host.docker.internal:11434
|
|
- SWAPPER_CONFIG_PATH=/app/config/swapper_config.yaml
|
|
- SWAPPER_MODE=single-active
|
|
- MAX_CONCURRENT_MODELS=1
|
|
- MODEL_SWAP_TIMEOUT=300
|
|
- GPU_ENABLED=true
|
|
- NODE_ID=node-3-threadripper-rtx3090
|
|
volumes:
|
|
- ./services/swapper-service/config/swapper_config_node3.yaml:/app/config/swapper_config.yaml:ro
|
|
- ./logs:/app/logs
|
|
networks:
|
|
- dagi-network
|
|
restart: unless-stopped
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://localhost:8890/health || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
# Comfy Agent - Image & Video Generation Service
|
|
comfy-agent:
|
|
build:
|
|
context: ./services/comfy-agent
|
|
dockerfile: Dockerfile
|
|
container_name: comfy-agent-node3
|
|
ports:
|
|
- "8880:8880"
|
|
environment:
|
|
- COMFYUI_HTTP=http://host.docker.internal:8188
|
|
- COMFYUI_WS=ws://host.docker.internal:8188/ws
|
|
- NATS_URL=nats://144.76.224.179:4222
|
|
- NATS_SUBJECT_INVOKE=agent.invoke.comfy
|
|
- NATS_SUBJECT_IMAGE=comfy.request.image
|
|
- NATS_SUBJECT_VIDEO=comfy.request.video
|
|
- STORAGE_PATH=/data/comfy-results
|
|
- PUBLIC_BASE_URL=http://212.8.58.133:8880/files
|
|
- MAX_CONCURRENCY=1
|
|
volumes:
|
|
- comfy-results:/data/comfy-results
|
|
- ./logs:/app/logs
|
|
networks:
|
|
- dagi-network
|
|
restart: unless-stopped
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://localhost:8880/healthz || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 15s
|
|
|
|
networks:
|
|
dagi-network:
|
|
external: true
|
|
|
|
volumes:
|
|
comfy-results:
|
|
driver: local
|