Commit 726edf23 authored by Duggan, John's avatar Duggan, John
Browse files

Use supervisord

parent 77bff6c6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ poetry run app
# build from source
docker build -f dockerfiles/Dockerfile -t ctscan-viz .
# run a container
docker run ctscan-viz
docker run ctscan-viz supervisord
```

## Formatting
+5 −1
Original line number Diff line number Diff line
@@ -31,12 +31,16 @@ RUN chmod og+rwX -R /var/log/nginx
RUN chmod og+rwX -R /etc/nginx

COPY dockerfiles/nginx.conf.template /etc/nginx/nginx.conf.template
COPY scripts/prepare_nginx.sh /
COPY dockerfiles/supervisord.conf /etc/supervisord.conf
COPY scripts/run_nginx.sh /
COPY scripts/run_trame.sh /

COPY --from=source /src/dist /dist
RUN pip install /dist/*.whl
RUN pip install supervisor

RUN python -m trame.tools.www --client-type vue3 --output /app/www-content

USER trame-user
ENTRYPOINT []
CMD []
+33 −0
Original line number Diff line number Diff line
# Necessary for supervisorctl to work
[unix_http_server]
file=/tmp/supervisor.sock   ; the path to the socket file

[supervisord]
logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=info                ; log level; default info; others: debug,warn,trace
pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=true                ; start in foreground if true; default false

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket

# Necessary for supervisorctl to work
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[program:trame]
command=/bin/bash /run_trame.sh
stdout_logfile=/dev/fd/1  ; redirect stdout to supervisord process so Galaxy picks it up
stdout_logfile_maxbytes=0 ; disable capture mode
stderr_logfile=/dev/fd/2  ; redirect stderr to supervisord process so Galaxy picks it up
stderr_logfile_maxbytes=0 ; disable capture mode

[program:nginx]
command=/bin/bash /run_nginx.sh

# This shuts down supervisord in response to fatal events to any of its child processes.
[eventlistener:quit_on_fatal]
command=/bin/bash -c 'echo "READY"; while read -r line; do echo "$line"; supervisorctl shutdown; done'
events=PROCESS_STATE_FATAL
+1 −1
Original line number Diff line number Diff line
[tool.poetry]
name = "ctscan-viz"
version = "0.1.2"
version = "0.2.0"
description = "Template application"
authors = []
readme = "README.md"
+3 −0
Original line number Diff line number Diff line
until wget -o /dev/null -O /dev/null http://localhost:8080; do echo 'not ready'; sleep 0.1; done
envsubst '$EP_PATH' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf
nginx
nginx -g 'daemon off;'
Loading