2017-01-06 21:50:24 +00:00
|
|
|
# ngIRCd systemd service unit.
|
|
|
|
# See systemd(1), systemd.unit(5), systemd.service(5), systemd.exec(5).
|
|
|
|
|
2012-08-18 13:51:28 +00:00
|
|
|
[Unit]
|
|
|
|
Description=Next Generation IRC Daemon
|
2017-01-05 23:34:51 +00:00
|
|
|
Documentation=man:ngircd(8) man:ngircd.conf(5) https://ngircd.barton.de
|
2012-08-18 13:51:28 +00:00
|
|
|
After=network.target
|
2017-01-06 21:50:24 +00:00
|
|
|
Wants=anope.service atheme.service irc-services.service
|
2023-10-17 14:15:38 +00:00
|
|
|
Wants=bopm.service hopm.service
|
2017-01-06 21:50:24 +00:00
|
|
|
Before=anope.service atheme.service irc-services.service
|
2023-10-17 14:15:38 +00:00
|
|
|
Before=bopm.service hopm.service
|
2012-08-18 13:51:28 +00:00
|
|
|
|
|
|
|
[Service]
|
2024-04-05 20:38:22 +00:00
|
|
|
Type=notify
|
2015-08-14 17:55:32 +00:00
|
|
|
User=irc
|
|
|
|
Group=irc
|
2017-01-06 21:50:24 +00:00
|
|
|
# Settings & limits:
|
2017-01-05 23:34:51 +00:00
|
|
|
CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE
|
2017-01-06 21:50:24 +00:00
|
|
|
MemoryDenyWriteExecute=yes
|
|
|
|
NoNewPrivileges=yes
|
2015-08-14 17:55:32 +00:00
|
|
|
PrivateDevices=yes
|
2017-01-06 21:50:24 +00:00
|
|
|
PrivateTmp=yes
|
|
|
|
ProtectControlGroups=yes
|
|
|
|
ProtectHome=yes
|
|
|
|
ProtectKernelModules=yes
|
|
|
|
ProtectKernelTunables=yes
|
2015-08-14 17:55:32 +00:00
|
|
|
ProtectSystem=full
|
2017-01-06 21:50:24 +00:00
|
|
|
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
|
|
|
|
RestrictRealtime=yes
|
2015-08-14 17:55:32 +00:00
|
|
|
RuntimeDirectory=ircd
|
|
|
|
RuntimeDirectoryMode=750
|
2017-01-06 21:50:24 +00:00
|
|
|
# Try to load "default files" from any Debian package variant to keep this
|
|
|
|
# unit generic.
|
2017-01-05 23:34:51 +00:00
|
|
|
EnvironmentFile=-/etc/default/ngircd
|
|
|
|
EnvironmentFile=-/etc/default/ngircd-full
|
|
|
|
EnvironmentFile=-/etc/default/ngircd-full-dbg
|
2017-01-06 21:50:24 +00:00
|
|
|
# Start ngIRCd. Note: systemd doesn't allow to use $DAEMON here!
|
2024-04-05 20:38:22 +00:00
|
|
|
ExecStart=/usr/sbin/ngircd --nodaemon --syslog $PARAMS
|
2012-08-18 13:51:28 +00:00
|
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
2024-04-05 20:48:22 +00:00
|
|
|
# Error handling:
|
|
|
|
# ngIRCd tries to "ping" the service manager every 3 seconds.
|
|
|
|
WatchdogSec=10
|
2015-08-14 17:55:32 +00:00
|
|
|
Restart=on-failure
|
2012-08-18 13:51:28 +00:00
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|