68 lines
1.9 KiB
Plaintext
68 lines
1.9 KiB
Plaintext
[supervisord]
|
|
nodaemon=true
|
|
# Run the whole stack as the non-root www-data user (security hardening).
|
|
# nginx listens on 8080 (non-privileged) so root is not needed to bind the port.
|
|
user=www-data
|
|
logfile=/dev/stdout
|
|
logfile_maxbytes=0
|
|
pidfile=/tmp/supervisord.pid
|
|
|
|
[unix_http_server]
|
|
file=/tmp/supervisor.sock
|
|
|
|
[supervisorctl]
|
|
serverurl=unix:///tmp/supervisor.sock
|
|
|
|
[rpcinterface:supervisor]
|
|
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
|
|
|
|
[program:php-fpm]
|
|
command=php-fpm -F
|
|
autorestart=true
|
|
priority=10
|
|
# Forward SIGTERM (graceful) and give workers time to finish in-flight requests.
|
|
stopsignal=TERM
|
|
stopwaitsecs=15
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:nginx]
|
|
command=nginx -g 'daemon off;'
|
|
autorestart=true
|
|
priority=20
|
|
stopsignal=QUIT
|
|
stopwaitsecs=15
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
# Message consumers. On Coolify these were separate compose services; Liara has
|
|
# no docker-compose, so they run here inside the single Docker app. --time-limit
|
|
# makes each consumer exit cleanly every hour; autorestart brings it back (guards
|
|
# against memory growth / stale DB+Redis connections). Mirrors the compose commands.
|
|
[program:worker-async]
|
|
command=php bin/console messenger:consume async --time-limit=3600 --memory-limit=128M -v
|
|
autorestart=true
|
|
priority=30
|
|
# messenger handles SIGTERM gracefully — finish the in-flight message, then exit.
|
|
stopsignal=TERM
|
|
stopwaitsecs=30
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:worker-scheduler]
|
|
command=php bin/console messenger:consume scheduler_default --time-limit=3600 -v
|
|
autorestart=true
|
|
priority=30
|
|
stopsignal=TERM
|
|
stopwaitsecs=30
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|