[supervisord]
logfile=logs/supervisord.log
pidfile=supervisord.pid
childlogdir=logs
nodaemon=false
loglevel=info

[unix_http_server]
file=supervisor.sock
chmod=0700

[supervisorctl]
serverurl=unix://supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

# Web interface for monitoring (proxied via nginx + Authelia)
[inet_http_server]
port=0.0.0.0:9001
# Authentication disabled - handled by Authelia SSO
# username=admin
# password=runpod2024

# ComfyUI Server
[program:comfyui]
command=bash comfyui/start.sh
directory=.
autostart=true
autorestart=true
startretries=3
stderr_logfile=logs/comfyui.err.log
stdout_logfile=logs/comfyui.out.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=HF_HOME="../huggingface_cache",PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True",TQDM_DISABLE="1"
priority=100
stopwaitsecs=30

# vLLM Qwen 2.5 7B Server (Port 8000)
[program:vllm-qwen]
command=vllm/venv/bin/python vllm/server_qwen.py
directory=.
autostart=false
autorestart=true
startretries=3
stderr_logfile=logs/vllm-qwen.err.log
stdout_logfile=logs/vllm-qwen.out.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=HF_HOME="../huggingface_cache",HF_TOKEN="%(ENV_HF_TOKEN)s"
priority=200
stopwaitsecs=30

# vLLM Llama 3.1 8B Server (Port 8001)
[program:vllm-llama]
command=vllm/venv/bin/python vllm/server_llama.py
directory=.
autostart=false
autorestart=true
startretries=3
stderr_logfile=logs/vllm-llama.err.log
stdout_logfile=logs/vllm-llama.out.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=HF_HOME="../huggingface_cache",HF_TOKEN="%(ENV_HF_TOKEN)s"
priority=201
stopwaitsecs=30

# vLLM BGE Embedding Server (Port 8002)
[program:vllm-embedding]
command=vllm/venv/bin/python vllm/server_embedding.py
directory=.
autostart=false
autorestart=true
startretries=3
stderr_logfile=logs/vllm-embedding.err.log
stdout_logfile=logs/vllm-embedding.out.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=HF_HOME="../huggingface_cache",HF_TOKEN="%(ENV_HF_TOKEN)s"
priority=202
stopwaitsecs=30

# ComfyUI WebDAV Sync Service
[program:webdav-sync]
command=webdav-sync/venv/bin/python webdav-sync/webdav_sync.py
directory=.
autostart=true
autorestart=true
startretries=3
stderr_logfile=logs/webdav-sync.err.log
stdout_logfile=logs/webdav-sync.out.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=WEBDAV_URL="%(ENV_WEBDAV_URL)s",WEBDAV_USERNAME="%(ENV_WEBDAV_USERNAME)s",WEBDAV_PASSWORD="%(ENV_WEBDAV_PASSWORD)s",WEBDAV_REMOTE_PATH="%(ENV_WEBDAV_REMOTE_PATH)s",COMFYUI_OUTPUT_DIR="../ComfyUI/output"
priority=150
stopwaitsecs=10

[group:comfyui-services]
programs=comfyui,webdav-sync
priority=100

[group:vllm-services]
programs=vllm-qwen,vllm-llama,vllm-embedding
priority=200
