viewvcs: handle exceptions in on_destroy cb
[public-inbox.git] / examples / public-inbox-nntpd@.service
blob556cb76fcb262dc045e4b6146c207c8b8be0b186
1 # ==> /etc/systemd/system/public-inbox-nntpd@.service <==
2 # Consider looking at public-inbox-netd@.service instead of this file
3 # to simplify management when serving multiple protocols.
5 # Since SIGUSR2 upgrades do not work under systemd, this service file
6 # allows starting two simultaneous services during upgrade time
7 # (e.g. public-inbox-nntpd@1 public-inbox-nntpd@2) with the intention
8 # that they take turns running in-between upgrades.  This should
9 # allow upgrading without downtime.
11 [Unit]
12 Description = public-inbox NNTP server %i
13 Wants = public-inbox-nntpd.socket
14 After = public-inbox-nntpd.socket
16 [Service]
17 Environment = PI_CONFIG=/home/pi/.public-inbox/config \
18 PATH=/usr/local/bin:/usr/bin:/bin \
19 TZ=UTC \
20 MALLOC_MMAP_THRESHOLD_=131072 \
21 PERL_INLINE_DIRECTORY=/tmp/.pub-inline
23 LimitNOFILE = 30000
24 ExecStartPre = /bin/mkdir -p -m 1777 /tmp/.pub-inline
25 ExecStart = /usr/local/bin/public-inbox-nntpd \
26 -1 /var/log/public-inbox/nntpd.out.log \
27 --cert /etc/ssl/certs/news.example.com.pem \
28 --key /etc/ssl/private/news.example.com.key
30 # NonBlocking is REQUIRED to avoid a race condition if running
31 # simultaneous services
32 NonBlocking = true
34 Sockets = public-inbox-nntpd.socket
36 KillSignal = SIGQUIT
37 User = news
38 Group = ssl-cert
39 ExecReload = /bin/kill -HUP $MAINPID
40 TimeoutStopSec = 86400
41 KillMode = process
43 [Install]
44 WantedBy = multi-user.target