]> Sergey Matveev's repositories - public-inbox.git/blob - examples/public-inbox-imapd@.service
e0446ed33f2367496dac1e035bf230330f3b288c
[public-inbox.git] / examples / public-inbox-imapd@.service
1 # ==> /etc/systemd/system/public-inbox-imapd@.service <==
2 # Since SIGUSR2 upgrades do not work under systemd, this service file
3 # allows starting two simultaneous services during upgrade time
4 # (e.g. public-inbox-imapd@1 public-inbox-imapd@2) with the intention
5 # that they take turns running in-between upgrades.  This should
6 # allow upgrading without downtime.
7
8 [Unit]
9 Description = public-inbox-imapd IMAP server %i
10 Wants = public-inbox-imapd.socket public-inbox-imaps.socket \
11 public-inbox-imap-onion.socket
12 After = public-inbox-imapd.socket public-inbox-imaps.socket \
13 public-inbox-imap-onion.socket
14
15 [Service]
16 Environment = PI_CONFIG=/home/pi/.public-inbox/config \
17 PATH=/usr/local/bin:/usr/bin:/bin \
18 PERL_INLINE_DIRECTORY=/tmp/.pub-inline
19
20 LimitNOFILE = 30000
21 ExecStartPre = /bin/mkdir -p -m 1777 /tmp/.pub-inline
22 ExecStart = /usr/local/bin/public-inbox-imapd -W0 \
23 -1 /var/log/public-inbox/imapd.out.log \
24 --cert /etc/ssl/certs/news.example.com.pem \
25 --key /etc/ssl/private/news.example.com.key
26 StandardError = syslog
27
28 # NonBlocking is REQUIRED to avoid a race condition if running
29 # simultaneous services
30 NonBlocking = true
31
32 Sockets = public-inbox-imapd.socket public-inbox-imaps.socket \
33 public-inbox-imap-onion.socket
34
35 KillSignal = SIGQUIT
36 User = nobody
37 Group = ssl-cert
38 ExecReload = /bin/kill -HUP $MAINPID
39 TimeoutStopSec = 86400
40 KillMode = process
41
42 [Install]
43 WantedBy = multi-user.target