77 lines
1.6 KiB
Markdown
77 lines
1.6 KiB
Markdown
## Basic init yt-local for openrc
|
|
|
|
1. 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
|
|
|
|
|
|
2. 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
|
|
|
|
|
|
3. 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/.youtube-local
|