summaryrefslogtreecommitdiffstats
path: root/files/etc/systemd/system/webmap-download@.service
blob: a928a13695c01bd69f6c6ece77606ec9662d656a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[Unit]
Description=Webmap updater service (download %I)
# Chaining logic from https://serverfault.com/questions/1079993/why-does-my-systemd-timer-only-trigger-once-when-the-unit-is-a-target#answer-1128671
# XXX Looks like Upholds= prevents running a single unit, as it causes
# webmap-update@%i.target to start upon `systemctl start webmap-download@foo.service`
After=network-online.target webmap-update@%i.target
Upholds=webmap-update@%i.target

[Service]
User=_webmap-download
Group=nogroup

Nice=15
IOSchedulingClass=idle

Type=oneshot
ExecStart=/usr/local/bin/webmap-download \
    --cachedir=/var/cache/webmap \
    --lockdir=%t/webmap-download \
    --no-exit-code \
    --quiet \
    -- %I

# Hardening
NoNewPrivileges=yes
ProtectHome=yes
ProtectSystem=strict
PrivateDevices=yes
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
ReadWritePaths=/var/cache/webmap
RuntimeDirectory=webmap-download
RuntimeDirectoryPreserve=yes

[Install]
WantedBy=webmap-update@%i.target