feat(docker): Add supervisord for install

ref: #363 #371
This commit is contained in:
2024-10-30 00:10:10 +09:30
parent 447e985740
commit cfa284d4ad
4 changed files with 55 additions and 1 deletions

View File

@ -113,4 +113,8 @@ EXPOSE 8000
VOLUME [ "/data", "/etc/itsm" ]
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 CMD \
supervisorctl status || exit 1
CMD [ "/usr/bin/supervisord" ]

View File

@ -0,0 +1,14 @@
[program:gunicorn]
priority=1
startsecs=0
stopwaitsecs=55
autostart=true
autorestart=true
stdout_logfile=/var/log/%(program_name)s.log
stderr_logfile=/var/log/%(program_name)s.log
directory=/app
command=gunicorn \
--access-logfile - \
--workers 10 \
--bind unix:/run/gunicorn.sock \
app.wsgi

View File

@ -0,0 +1,33 @@
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)
;[inet_http_server]
;port = :9001
; username = user
; password = 123
[supervisord]
logfile=/var/log/supervisord.log
pidfile=/var/run/supervisord.pid
childlogdir=/var/log
nodaemon = true
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
; 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 = /etc/supervisor/conf.d/*.conf

View File

@ -6,3 +6,6 @@ psycopg2==2.9.9 # postgresql16-dev postgresql16-client libpq-dev
# Production Web server
gunicorn==23.0.0
# SupervisorD
supervisor==4.2.5