; ============================================================================= ; Dolphin Service Supervisor Configuration ; Industrial-grade process management using Supervisor ; ============================================================================= [supervisord] logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/supervisord.log logfile_maxbytes=50MB logfile_backups=10 loglevel=info pidfile=/mnt/dolphinng5_predict/prod/supervisor/run/supervisord.pid nodaemon=false minfds=1024 minprocs=200 user=root directory=/mnt/dolphinng5_predict/prod environment=PYTHONPATH="/mnt/dolphinng5_predict/prod:/mnt/dolphinng5_predict/prod/clean_arch",HZ_HOST="localhost:5701" [unix_http_server] file=/tmp/dolphin-supervisor.sock chmod=0777 [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///tmp/dolphin-supervisor.sock ; ============================================================================= ; TRADING SERVICES (Migrated from systemd) ; ============================================================================= [program:clean_arch_trader] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/clean_arch/main.py directory=/mnt/dolphinng5_predict/prod/clean_arch autostart=false autorestart=true startsecs=10 startretries=3 stopwaitsecs=30 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/clean_arch_trader.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/clean_arch_trader-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict/prod:/mnt/dolphinng5_predict/prod/clean_arch",HZ_HOST="localhost:5701" [program:nautilus_trader] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/nautilus_event_trader.py directory=/mnt/dolphinng5_predict/prod autostart=true autorestart=true startsecs=10 startretries=3 stopwaitsecs=30 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/nautilus_trader.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/nautilus_trader-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PREFECT_API_URL="http://localhost:4200/api",PYTHONUNBUFFERED="1" rlimit_as=2GB rlimit_nofile=1024 [program:dolphin_live] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/launch_dolphin_live.py directory=/mnt/dolphinng5_predict/prod autostart=false autorestart=true startsecs=15 startretries=3 stopwaitsecs=30 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/dolphin_live.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 redirect_stderr=true environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PREFECT_API_URL="http://localhost:4200/api",PYTHONUNBUFFERED="1" [program:scan_bridge] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/scan_bridge_service.py directory=/mnt/dolphinng5_predict/prod autostart=true autorestart=true startsecs=5 startretries=5 stopwaitsecs=10 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/scan_bridge.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/scan_bridge-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict/prod" ; ============================================================================= ; DATA PIPELINE SERVICES ; ============================================================================= [program:exf_fetcher] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/exf_fetcher_flow.py --warmup 15 directory=/mnt/dolphinng5_predict/prod autostart=true autorestart=true startsecs=20 startretries=5 stopwaitsecs=15 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/exf.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/exf-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/external_factors:/mnt/dolphinng5_predict/prod",PREFECT_API_URL="http://localhost:4200/api" [program:acb_processor] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/acb_processor_service.py directory=/mnt/dolphinng5_predict/prod autostart=true autorestart=true startsecs=10 startretries=5 stopwaitsecs=10 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/acb_processor.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/acb_processor-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/prod" [program:meta_health] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/meta_health_service_v3.py directory=/mnt/dolphinng5_predict/prod autostart=true autorestart=true startsecs=5 startretries=5 stopwaitsecs=10 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/meta_health.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/meta_health-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/prod",DOLPHIN_FAST_RECOVERY="1" [program:obf_universe] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/obf_universe_service.py directory=/mnt/dolphinng5_predict/prod autostart=true autorestart=true startsecs=15 startretries=5 stopwaitsecs=15 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/obf_universe.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/obf_universe-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/prod" ; Nautilus TradingNode paper/live portfolio launcher (DolphinActor-based). ; autostart=false: activate deliberately after nautilus_trader is confirmed healthy. ; Requires: nautilus_trader running + HZ healthy + DOLPHIN_SAFETY posture=APEX [program:paper_portfolio] command=/home/dolphin/siloqy_env/bin/python /mnt/dolphinng5_predict/prod/launch_paper_portfolio.py directory=/mnt/dolphinng5_predict/prod autostart=false autorestart=true startsecs=15 startretries=3 stopwaitsecs=30 stopasgroup=true killasgroup=true stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/paper_portfolio.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/paper_portfolio-error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PREFECT_API_URL="http://localhost:4200/api" ; ============================================================================= ; GROUPS ; ============================================================================= [group:dolphin] programs=nautilus_trader,scan_bridge,clean_arch_trader,paper_portfolio priority=999 [group:dolphin_data] programs=exf_fetcher,acb_processor,obf_universe,meta_health,system_stats priority=100 ; ============================================================================= ; CLICKHOUSE OBSERVABILITY ; ============================================================================= [program:system_stats] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/system_stats_service.py directory=/mnt/dolphinng5_predict/prod autostart=true autorestart=true startsecs=5 startretries=5 stopwaitsecs=5 stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/system_stats.log stdout_logfile_maxbytes=10MB stdout_logfile_backups=3 stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/system_stats-error.log stderr_logfile_maxbytes=10MB environment=PYTHONPATH="/mnt/dolphinng5_predict/prod" [eventlistener:ch_state_listener] command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/supervisord_ch_listener.py events=PROCESS_STATE,TICK_60 autostart=true autorestart=true stderr_logfile=/tmp/ch_listener.log stderr_logfile_maxbytes=10MB