]> Sergey Matveev's repositories - public-inbox.git/blobdiff - examples/public-inbox-httpd@.service
No ext_urls
[public-inbox.git] / examples / public-inbox-httpd@.service
index 3bb707263fbd4cfabd7be95252646e89d3e880b0..73731533f7eccd639476677c56adb6dc71d5e920 100644 (file)
@@ -1,9 +1,14 @@
 # ==> /etc/systemd/system/public-inbox-httpd@.service <==
+# Consider looking at public-inbox-netd@.service instead of this file
+# to simplify management when serving multiple protocols.
+#
 # Since SIGUSR2 upgrades do not work under systemd, this service file
 # allows starting two simultaneous services during upgrade time
 # (e.g. public-inbox-httpd@1 public-inbox-httpd@2) with the intention
 # that they take turns running in-between upgrades.  This should
 # allow upgrading without downtime.
+# For servers expecting visitors from multiple timezones, TZ=UTC
+# is needed to ensure a consistent approxidate experience with search.
 
 [Unit]
 Description = public-inbox PSGI server %i
@@ -13,17 +18,26 @@ After = public-inbox-httpd.socket
 [Service]
 Environment = PI_CONFIG=/home/pi/.public-inbox/config \
 PATH=/usr/local/bin:/usr/bin:/bin \
+TZ=UTC \
 PERL_INLINE_DIRECTORY=/tmp/.pub-inline
 
 LimitNOFILE = 30000
 ExecStartPre = /bin/mkdir -p -m 1777 /tmp/.pub-inline
-ExecStart = /usr/local/bin/public-inbox-httpd
+ExecStart = /usr/local/bin/public-inbox-httpd \
+-1 /var/log/public-inbox/httpd.out.log
+StandardError = syslog
+
+# NonBlocking is REQUIRED to avoid a race condition if running
+# simultaneous services
+NonBlocking = true
 Sockets = public-inbox-httpd.socket
+
 KillSignal = SIGQUIT
 User = nobody
 Group = nogroup
 ExecReload = /bin/kill -HUP $MAINPID
-TimeoutStopSec = 3600
+TimeoutStopSec = 86400
+KillMode = process
 
 [Install]
 WantedBy = multi-user.target