[supervisord] nodaemon=true logfile=/var/log/supervisord.log pidfile=/var/run/supervisord.pid [program:gunicorn] command=/app/scripts/gunicorn.sh directory=/app user=djangouser autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 stopsignal=TERM stopasgroup=true killasgroup=true [program:daphne] command=/app/scripts/daphne.sh directory=/app user=djangouser autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 stopsignal=TERM stopasgroup=true killasgroup=true [program:nginx] command=/usr/sbin/nginx -g "daemon off;" autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 stopsignal=QUIT # REMOVE FOR PROD, should be using seperate worker instances for scalability. [program:valkey] command=/usr/bin/valkey-server --bind 127.0.0.1 --port 6379 --save "" --appendonly no autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 stopsignal=TERM [program:celery-worker] command=/usr/local/bin/celery -A keywarden worker -l info directory=/app user=djangouser autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 stopsignal=TERM stopasgroup=true killasgroup=true [program:celery-beat] command=/usr/local/bin/celery -A keywarden beat -l info directory=/app user=djangouser autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 stopsignal=TERM stopasgroup=true killasgroup=true