ngircd.service 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # ngIRCd systemd service unit.
  2. # See systemd(1), systemd.unit(5), systemd.service(5), systemd.exec(5).
  3. [Unit]
  4. Description=Next Generation IRC Daemon
  5. Documentation=man:ngircd(8) man:ngircd.conf(5) https://ngircd.barton.de
  6. After=network.target
  7. Wants=anope.service atheme.service irc-services.service
  8. Wants=bopm.service
  9. Before=anope.service atheme.service irc-services.service
  10. Before=bopm.service
  11. [Service]
  12. Type=forking
  13. User=irc
  14. Group=irc
  15. # Settings & limits:
  16. CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE
  17. MemoryDenyWriteExecute=yes
  18. NoNewPrivileges=yes
  19. PrivateDevices=yes
  20. PrivateTmp=yes
  21. ProtectControlGroups=yes
  22. ProtectHome=yes
  23. ProtectKernelModules=yes
  24. ProtectKernelTunables=yes
  25. ProtectSystem=full
  26. RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
  27. RestrictRealtime=yes
  28. RuntimeDirectory=ircd
  29. RuntimeDirectoryMode=750
  30. # Try to load "default files" from any Debian package variant to keep this
  31. # unit generic.
  32. EnvironmentFile=-/etc/default/ngircd
  33. EnvironmentFile=-/etc/default/ngircd-full
  34. EnvironmentFile=-/etc/default/ngircd-full-dbg
  35. # Start ngIRCd. Note: systemd doesn't allow to use $DAEMON here!
  36. ExecStart=/usr/sbin/ngircd $PARAMS
  37. ExecReload=/bin/kill -HUP $MAINPID
  38. Restart=on-failure
  39. [Install]
  40. WantedBy=multi-user.target