1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/sbin/openrc-run
name="dispatch.sr.ht"
description="dispatch.sr.ht service"
supervisor=supervise-daemon
DISPATCH_USER=${DISPATCH_USER:-dispatch}
DISPATCH_BIND=${DISPATCH_BIND:-127.0.0.1:5005}
DISPATCH_GUNICORN_CONF=${DISPATCH_GUNICORN_CONF:-/etc/sr.ht/dispatch.sr.ht.gunicorn.conf.py}
DISPATCH_ARGS=${DISPATCH_ARGS:-}
LOGS=/var/log/dispatch.sr.ht.log
prometheus_multiproc_dir=/run/dispatch.sr.ht
supervise_daemon_args="-1 $LOGS -2 $LOGS -e prometheus_multiproc_dir=$prometheus_multiproc_dir"
command="/usr/bin/gunicorn"
command_args="dispatchsrht.app:app -b $DISPATCH_BIND -c $DISPATCH_GUNICORN_CONF $DISPATCH_ARGS"
command_user="$DISPATCH_USER:$DISPATCH_USER"
pidfile="/run/${RC_SVCNAME}.pid"
depend() {
need net
use redis
use postgresql
use pgbouncer
}
start_pre() {
checkpath -f "$LOGS" -m 644 -o "$DISPATCH_USER:$DISPATCH_USER"
# Workaround for https://github.com/OpenRC/openrc/issues/335
if [ -n "$prometheus_multiproc_dir" ]
then
checkpath -d "$prometheus_multiproc_dir" -m 775 -o "$DISPATCH_USER:$DISPATCH_USER"
rm -rf "$prometheus_multiproc_dir"/*
fi
}