Split the single ASR gateway into app/main.py (entrypoint) + app/core (shared env helpers) + app/asr (all existing ASR logic, unchanged behavior) + app/tts (placeholder router/config, no engine yet), so a real TTS backend can be dropped in later without reshuffling ASR code. API moved under /asr/* and /tts/* prefixes; UI gained a top-level ASR/TTS tab switcher built on a reusable nested .tab-group mechanism, with JS split into common.js/asr.js/tts.js. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
915 B
Plaintext
38 lines
915 B
Plaintext
[supervisord]
|
|
nodaemon=true
|
|
logfile=/dev/null
|
|
pidfile=/tmp/supervisord.pid
|
|
|
|
[program:faster_whisper]
|
|
command=/opt/venvs/faster_whisper/bin/python /app/asr/workers/faster_whisper_worker.py --host 0.0.0.0 --port 8001
|
|
directory=/app
|
|
autostart=true
|
|
autorestart=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/fd/2
|
|
stderr_logfile_maxbytes=0
|
|
priority=10
|
|
|
|
[program:qwen3]
|
|
command=/opt/venvs/qwen3/bin/python /app/asr/workers/qwen3_worker.py --host 0.0.0.0 --port 8004
|
|
directory=/app
|
|
autostart=true
|
|
autorestart=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/fd/2
|
|
stderr_logfile_maxbytes=0
|
|
priority=20
|
|
|
|
[program:gateway]
|
|
command=/opt/venvs/gateway/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8000
|
|
directory=/app
|
|
autostart=true
|
|
autorestart=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/fd/2
|
|
stderr_logfile_maxbytes=0
|
|
priority=30
|