systemd: Set up chroot environment in a separate service, once.

This commit is contained in:
Heikki Hannikainen 2020-09-06 20:00:38 +00:00
parent a3fadf179b
commit 8fe9b17070
4 changed files with 19 additions and 4 deletions

View File

@ -0,0 +1,14 @@
[Unit]
Description=APRS-IS server chroot environment
After=network.target
Documentation=http://he.fi/aprsc/, man:aprsc(8)
[Service]
Type=oneshot
ExecStart=/opt/aprsc/sbin/aprsc-prepare-chroot.sh
User=root
Group=root
[Install]
WantedBy=multi-user.target
Alias=aprsc-chroot.service

View File

@ -1,11 +1,11 @@
[Unit]
Description=APRS-IS server
After=network.target
After=network.target aprsc-chroot.service
Requires=aprsc-chroot.service
Documentation=http://he.fi/aprsc/, man:aprsc(8)
[Service]
Type=simple
ExecStartPre=/opt/aprsc/sbin/aprsc-prepare-chroot.sh
ExecStart=/opt/aprsc/sbin/aprsc -u aprsc -t /opt/aprsc -e info -o file -r logs -c etc/aprsc.conf
ExecReload=/bin/kill -USR1 $MAINPID
PIDFile=/opt/aprsc/logs/aprsc.pid

View File

@ -1,11 +1,11 @@
[Unit]
Description="APRS-IS server #%i"
After=network.target
After=network.target aprsc-chroot.service
Requires=aprsc-chroot.service
Documentation=http://he.fi/aprsc/, man:aprsc(8)
[Service]
Type=simple
ExecStartPre=/opt/aprsc/sbin/aprsc-prepare-chroot.sh
ExecStart=/opt/aprsc/sbin/aprsc -n aprsc-%i -u aprsc -t /opt/aprsc -e info -o file -r logs -c etc/aprsc-%i.conf
ExecReload=/bin/kill -USR1 $MAINPID
PIDFile=/opt/aprsc/logs/aprsc-%i.pid

View File

@ -78,6 +78,7 @@ binary-arch: build install
# this will work on ubuntu 18.04: dh_installsystemd
# but in the mean time:
cp -p $(CURDIR)/debian/aprsc@.service $(CURDIR)/debian/aprsc/lib/systemd/system/aprsc@.service
cp -p $(CURDIR)/debian/aprsc-chroot.service $(CURDIR)/debian/aprsc/lib/systemd/system/aprsc-chroot.service
# dh_installcron
# dh_installinfo
dh_installman