Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
175 lines
9.7 KiB
Plaintext
175 lines
9.7 KiB
Plaintext
; Supervisor config file.
|
|
; on Debian squeeze, place me in /etc/supervisor/conf.d/zulip.conf
|
|
;
|
|
; For more information on the config file, please see:
|
|
; http://supervisord.org/configuration.html
|
|
;
|
|
; Note: shell expansion ("~" or "$HOME") is not supported. Environment
|
|
; variables can be expanded using this syntax: "%(ENV_HOME)s".
|
|
|
|
[program:zulip-django]
|
|
command=nice -n5 uv run --no-sync uwsgi --ini /etc/zulip/uwsgi.ini
|
|
environment=HTTP_proxy="<%= @proxy %>",HTTPS_proxy="<%= @proxy %>"<%= @ca_bundle %>
|
|
priority=100 ; the relative start priority (default 999)
|
|
autostart=true ; start at supervisord start (default: true)
|
|
autorestart=true ; whether/when to restart (default: unexpected)
|
|
stopsignal=INT ; signal used to kill process (default TERM)
|
|
stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10)
|
|
user=zulip ; setuid to this UNIX account to run the program
|
|
redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
|
stdout_logfile=/var/log/zulip/django.log ; stdout log path, NONE for none; default AUTO
|
|
stdout_logfile_maxbytes=100MB ; max # logfile bytes b4 rotation (default 50MB)
|
|
stdout_logfile_backups=10 ; # of stdout logfile backups (default 10)
|
|
stopasgroup=true ; Without this, we leak processes every restart
|
|
killasgroup=true ; Without this, we leak processes every restart
|
|
directory=/home/zulip/deployments/current/
|
|
|
|
[program:zulip-tus]
|
|
command=nice -n5 /home/zulip/deployments/current/manage.py runtusd <%= @tusd_server_listen %>:9900
|
|
environment=HTTP_proxy="<%= @proxy %>",HTTPS_proxy="<%= @proxy %>"<%= @ca_bundle %>
|
|
priority=100 ; the relative start priority (default 999)
|
|
autostart=true ; start at supervisord start (default: true)
|
|
autorestart=true ; whether/when to restart (default: unexpected)
|
|
stopsignal=INT ; signal used to kill process (default TERM)
|
|
stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10)
|
|
user=zulip ; setuid to this UNIX account to run the program
|
|
redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
|
stdout_logfile=/var/log/zulip/tusd.log ; stdout log path, NONE for none; default AUTO
|
|
stdout_logfile_maxbytes=0 ; Rotated by logrotate
|
|
stdout_logfile_backups=0
|
|
stopasgroup=true ; Without this, we leak processes every restart
|
|
killasgroup=true ; Without this, we leak processes every restart
|
|
directory=/home/zulip/deployments/current/
|
|
|
|
<% if @tornado_ports.length > 1 -%>
|
|
[program:zulip-tornado]
|
|
command=/home/zulip/deployments/current/manage.py runtornado 127.0.0.1:98%(process_num)02d --skip-checks
|
|
process_name=zulip-tornado-port-98%(process_num)02d
|
|
environment=PYTHONUNBUFFERED=1,HTTP_proxy="<%= @proxy %>",HTTPS_proxy="<%= @proxy %>"<%= @ca_bundle %>
|
|
priority=200 ; the relative start priority (default 999)
|
|
autostart=true ; start at supervisord start (default: true)
|
|
autorestart=true ; whether/when to restart (default: unexpected)
|
|
stopsignal=TERM ; signal used to kill process (default TERM)
|
|
stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10)
|
|
user=zulip ; setuid to this UNIX account to run the program
|
|
redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
|
stdout_logfile=/var/log/zulip/tornado-98%(process_num)02d.log ; stdout log path, NONE for none; default AUTO
|
|
stdout_logfile_maxbytes=0 ; Rotated by logrotate
|
|
stdout_logfile_backups=0
|
|
directory=/home/zulip/deployments/current/
|
|
numprocs=<%= @tornado_ports.length %>
|
|
<% else -%>
|
|
[program:zulip-tornado]
|
|
command=/home/zulip/deployments/current/manage.py runtornado 127.0.0.1:9800 --skip-checks
|
|
environment=PYTHONUNBUFFERED=1,HTTP_proxy="<%= @proxy %>",HTTPS_proxy="<%= @proxy %>"<%= @ca_bundle %>
|
|
priority=200 ; the relative start priority (default 999)
|
|
autostart=true ; start at supervisord start (default: true)
|
|
autorestart=true ; whether/when to restart (default: unexpected)
|
|
stopsignal=TERM ; signal used to kill process (default TERM)
|
|
stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10)
|
|
user=zulip ; setuid to this UNIX account to run the program
|
|
redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
|
stdout_logfile=/var/log/zulip/tornado.log ; stdout log path, NONE for none; default AUTO
|
|
stdout_logfile_maxbytes=0 ; Rotated by logrotate
|
|
stdout_logfile_backups=0
|
|
directory=/home/zulip/deployments/current/
|
|
<% end -%>
|
|
|
|
<% if @queues_multiprocess %>
|
|
<% @queues.each do |queue| -%>
|
|
[program:zulip_events_<%= queue %>]
|
|
<%-
|
|
numprocs = 1
|
|
term = "worker"
|
|
if queue == "missedmessage_mobile_notifications"
|
|
numprocs = @mobile_notification_shards
|
|
term = "shard"
|
|
elsif queue == "user_activity"
|
|
numprocs = @user_activity_shards
|
|
term = "shard"
|
|
elsif @worker_counts.has_key?(queue)
|
|
numprocs = @worker_counts[queue]
|
|
end -%>
|
|
<%- if numprocs > 1 -%>
|
|
process_name=zulip_events_<%= queue %>_<%= term %>%(process_num)s
|
|
command=nice -n10 /home/zulip/deployments/current/manage.py process_queue --queue_name=<%= queue %> --skip-checks --worker_num %(process_num)s
|
|
stdout_logfile=/var/log/zulip/events_<%= queue %>_<%= term %>%(process_num)s.log ; stdout log path, NONE for none; default AUTO
|
|
numprocs=<%= numprocs %>
|
|
numprocs_start=1
|
|
<% else -%>
|
|
command=nice -n10 /home/zulip/deployments/current/manage.py process_queue --queue_name=<%= queue %> --skip-checks
|
|
stdout_logfile=/var/log/zulip/events_<%= queue %>.log ; stdout log path, NONE for none; default AUTO
|
|
<%end -%>
|
|
environment=HTTP_proxy="<%= @proxy %>",HTTPS_proxy="<%= @proxy %>"<%= @ca_bundle %>
|
|
priority=300 ; the relative start priority (default 999)
|
|
autostart=true ; start at supervisord start (default: true)
|
|
autorestart=true ; whether/when to restart (default: unexpected)
|
|
stopsignal=TERM ; signal used to kill process (default TERM)
|
|
stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10)
|
|
user=zulip ; setuid to this UNIX account to run the program
|
|
redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
|
stdout_logfile_maxbytes=20MB ; max # logfile bytes b4 rotation (default 50MB)
|
|
stdout_logfile_backups=3 ; # of stdout logfile backups (default 10)
|
|
directory=/home/zulip/deployments/current/
|
|
<% end -%>
|
|
<% else %>
|
|
[program:zulip_events]
|
|
command=nice -n10 /home/zulip/deployments/current/manage.py process_queue --multi_threaded <%= @queues.join(' ') %> --skip-checks
|
|
environment=HTTP_proxy="<%= @proxy %>",HTTPS_proxy="<%= @proxy %>"<%= @ca_bundle %>
|
|
priority=300 ; the relative start priority (default 999)
|
|
autostart=true ; start at supervisord start (default: true)
|
|
autorestart=true ; whether/when to restart (default: unexpected)
|
|
stopsignal=TERM ; signal used to kill process (default TERM)
|
|
stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10)
|
|
user=zulip ; setuid to this UNIX account to run the program
|
|
redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
|
stdout_logfile=/var/log/zulip/events.log ; stdout log path, NONE for none; default AUTO
|
|
stdout_logfile_maxbytes=20MB ; max # logfile bytes b4 rotation (default 50MB)
|
|
stdout_logfile_backups=3 ; # of stdout logfile backups (default 10)
|
|
directory=/home/zulip/deployments/current/
|
|
stopasgroup=true ; Without this, we leak processes every restart
|
|
killasgroup=true ; Without this, we leak processes every restart
|
|
<% end %>
|
|
|
|
; The below sample group section shows all possible group values,
|
|
; create one or more 'real' group: sections to create "heterogeneous"
|
|
; process groups.
|
|
|
|
[group:zulip-workers]
|
|
<% if @queues_multiprocess %>
|
|
; each refers to 'x' in [program:x] definitions
|
|
programs=<% @queues.each_with_index do |queue, i| -%>zulip_events_<%= queue %><%= ',' if i < (@queues.size - 1) %> <% end -%>
|
|
<% else %>
|
|
programs=zulip_events
|
|
<% end %>
|
|
|
|
<% if @katex_server %>
|
|
[program:zulip-katex]
|
|
command=/usr/local/bin/secret-env-wrapper SHARED_SECRET=shared_secret /srv/zulip-node/bin/node /home/zulip/prod-static/webpack-bundles/katex_server.js <%= @katex_server_port %>
|
|
environment=NODE_ENV=production
|
|
priority=200 ; the relative start priority (default 999)
|
|
autostart=true ; start at supervisord start (default: true)
|
|
autorestart=true ; whether/when to restart (default: unexpected)
|
|
stopsignal=TERM ; signal used to kill process (default TERM)
|
|
stopwaitsecs=30 ; max num secs to wait b4 SIGKILL (default 10)
|
|
user=zulip ; setuid to this UNIX account to run the program
|
|
redirect_stderr=true ; redirect proc stderr to stdout (default false)
|
|
stdout_logfile=/var/log/zulip/katex.log ; stdout log path, NONE for none; default AUTO
|
|
stdout_logfile_maxbytes=20MB ; max # logfile bytes b4 rotation (default 50MB)
|
|
stdout_logfile_backups=3 ; # of stdout logfile backups (default 10)
|
|
directory=/home/zulip/deployments/current/
|
|
<% end %>
|
|
|
|
; The [include] section can just contain the "files" setting. This
|
|
; setting can list multiple files (separated by whitespace or
|
|
; newlines). It can also contain wildcards. The filenames are
|
|
; interpreted as relative to this file. Included files *cannot*
|
|
; include files themselves.
|
|
|
|
;[include]
|
|
;files = relative/directory/*.ini
|
|
|
|
;enable server restarts without requiring superuser access. This assumes that this is the only service being controlled by supervisord on this machine.
|
|
[unix_http_server]
|
|
chown=zulip:zulip
|