Basic init yt-local for openrc
- Write
/etc/init.d/ytlocal
file.
#!/sbin/openrc-run
# Distributed under the terms of the GNU General Public License v3 or later
name="yt-local"
pidfile="/var/run/ytlocal.pid"
command="/usr/sbin/ytlocal"
depend() {
use net
}
start_pre() {
if [ ! -f /usr/sbin/ytlocal ] ; then
eerror "Please create script file of ytlocal in '/usr/sbin/ytlocal'"
return 1
else
return 0
fi
}
start() {
ebegin "Starting yt-local"
start-stop-daemon --start --exec "${command}" --pidfile "${pidfile}"
eend $?
}
reload() {
ebegin "Reloading ${name}"
start-stop-daemon --signal HUP --pidfile "${pidfile}"
eend $?
}
stop() {
ebegin "Stopping ${name}"
start-stop-daemon --quiet --stop --exec "${command}" --pidfile "${pidfile}"
eend $?
}
after, modified execute permissions:
$ doas chmod a+x /etc/init.d/ytlocal
- Write
/usr/sbin/ytlocal
and configure path.
#!/usr/bin/env bash
cd /home/your-path/ytlocal/ # change me
source venv/bin/activate
python server.py > /dev/null 2>&1 &
echo $! > /var/run/ytlocal.pid
after, modified execute permissions:
$ doas chmod a+x /usr/sbin/ytlocal
-
OpenRC check
-
status:
doas rc-service ytlocal status
- start:
doas rc-service ytlocal start
- restart:
doas rc-service ytlocal restart
-
stop:
doas rc-service ytlocal stop
-
enable:
doas rc-update add ytlocal default
- disable:
doas rc-update del ytlocal
When yt-local is run with administrator privileges, the configuration file is stored in /root/.yt-local