54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
[supervisord]
|
|
nodaemon=true
|
|
; No user= here: container already runs as 'node' (USER node in Dockerfile).
|
|
; Setting user=root when running as non-root causes "Can't drop privilege" error.
|
|
logfile=/dev/stdout
|
|
logfile_maxbytes=0
|
|
pidfile=/tmp/supervisord.pid
|
|
|
|
; All env vars (OPENCLAW_GATEWAY_TOKEN, CLAUDE_API_KEY, IT0_INSTANCE_ID,
|
|
; IT0_AGENT_SERVICE_URL, DINGTALK_CLIENT_ID, DINGTALK_CLIENT_SECRET, etc.)
|
|
; are passed via "docker run -e". Child processes inherit them from supervisord's
|
|
; own environment — no need for per-program environment= directives, which would
|
|
; cause "cannot be expanded" errors for any var that is absent or optional.
|
|
|
|
; OpenClaw gateway process
|
|
[program:openclaw]
|
|
command=node /app/openclaw/dist/index.js gateway --port 18789 --allow-unconfigured
|
|
directory=/app/openclaw
|
|
autostart=true
|
|
autorestart=true
|
|
startretries=5
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
; IT0 Bridge process
|
|
[program:it0-bridge]
|
|
command=node /app/bridge/dist/index.js
|
|
directory=/app/bridge
|
|
autostart=true
|
|
autorestart=true
|
|
startretries=10
|
|
startsecs=5
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
; DingTalk Channel — stays running only if DINGTALK_CLIENT_ID is set.
|
|
; start-dingtalk.sh exits 0 when unconfigured → supervisord leaves it EXITED, no restart loop.
|
|
[program:dingtalk-channel]
|
|
command=/app/bridge/start-dingtalk.sh
|
|
directory=/app/bridge
|
|
autostart=true
|
|
autorestart=unexpected
|
|
exitcodes=0
|
|
startretries=5
|
|
startsecs=10
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|