daemon -u fails inside a jail (setusercontext), py312-sqlite3 is a separate package, and FDN / Quad101 do not answer from gringo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
1.1 KiB
Bash
42 lines
1.1 KiB
Bash
#!/bin/sh
|
|
#
|
|
# PROVIDE: zmtools
|
|
# REQUIRE: NETWORKING
|
|
# KEYWORD: shutdown
|
|
#
|
|
# zonemaster.es DNS tools API. Enable with:
|
|
# sysrc zmtools_enable=YES
|
|
# sysrc zmtools_host=10.20.0.22 # jail IP the host nginx proxies to
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=zmtools
|
|
rcvar=zmtools_enable
|
|
|
|
load_rc_config $name
|
|
: ${zmtools_enable:=NO}
|
|
: ${zmtools_user:=zmtools}
|
|
: ${zmtools_dir:=/usr/local/zmtools}
|
|
: ${zmtools_host:=127.0.0.1}
|
|
: ${zmtools_port:=5100}
|
|
: ${zmtools_log:=/var/log/zmtools.log}
|
|
|
|
pidfile=/var/run/${name}/${name}.pid
|
|
procname=/usr/sbin/daemon
|
|
command=/usr/sbin/daemon
|
|
command_args="-f -r -R 5 -P ${pidfile} -o ${zmtools_log} \
|
|
/usr/bin/env ZMTOOLS_HOST=${zmtools_host} ZMTOOLS_PORT=${zmtools_port} \
|
|
PYTHONPATH=${zmtools_dir} /usr/local/bin/python3.12 -m zmtools.server"
|
|
|
|
# rc.subr runs the command via su as ${zmtools_user}. daemon -u is not used:
|
|
# inside a jail its setusercontext() fails ("failed to set user environment").
|
|
zmtools_user=${zmtools_user}
|
|
start_precmd=zmtools_prestart
|
|
zmtools_prestart()
|
|
{
|
|
install -d -o ${zmtools_user} -m 755 /var/db/zmtools /var/run/${name}
|
|
touch ${zmtools_log} && chown ${zmtools_user} ${zmtools_log}
|
|
}
|
|
|
|
run_rc_command "$1"
|