initial: import DOLPHIN baseline 2026-04-21 from dolphinng5_predict working tree
Includes core prod + GREEN/BLUE subsystems: - prod/ (BLUE harness, configs, scripts, docs) - nautilus_dolphin/ (GREEN Nautilus-native impl + dvae/ preserved) - adaptive_exit/ (AEM engine + models/bucket_assignments.pkl) - Observability/ (EsoF advisor, TUI, dashboards) - external_factors/ (EsoF producer) - mc_forewarning_qlabs_fork/ (MC regime/envelope) Excludes runtime caches, logs, backups, and reproducible artifacts per .gitignore.
This commit is contained in:
239
prod/supervisor/dolphin-supervisord.conf
Executable file
239
prod/supervisor/dolphin-supervisord.conf
Executable file
@@ -0,0 +1,239 @@
|
||||
; =============================================================================
|
||||
; 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
|
||||
Reference in New Issue
Block a user