38 lines
1.3 KiB
SYSTEMD
38 lines
1.3 KiB
SYSTEMD
# Note: Please keep this file in sync with owntone.service.in
|
|
|
|
[Unit]
|
|
Description=DAAP/DACP (iTunes), RSP, MPD server, with AirPlay and Remote - %I
|
|
Documentation=man:owntone(8)
|
|
Requires=network.target local-fs.target avahi-daemon.socket
|
|
After=network.target sound.target remote-fs.target pulseaudio.service
|
|
|
|
[Service]
|
|
ExecStart=@sbindir@/owntone -f -c /etc/owntone-%I.conf
|
|
SyslogIdentifier=owntone-%I
|
|
|
|
# Constrain the upper limit of memory/swap that can be used; this prevents
|
|
# the server from consuming all system memory (in event of bug/malformed user
|
|
# curl/SMARTPL query etc) that would hang/freeze low resource and headless (ie
|
|
# RPi) machines
|
|
#
|
|
# systemd will kill the process in such an event but would be auto-restarted as
|
|
# per 'Restart' directive below
|
|
#
|
|
# Values derived from obersvations on rpi3 under load - limits are >50% above
|
|
# seen high watermarks
|
|
#
|
|
# https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html
|
|
MemoryMax=256M
|
|
MemorySwapMax=32M
|
|
|
|
# Restart, but set a limit so we don't restart indefinitely. Unfortunately,
|
|
# systemd also applies the start limits to manual restarts, so that's why the
|
|
# burst value allows for 10 restarts.
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
StartLimitBurst=10
|
|
StartLimitInterval=600
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|