-
Notifications
You must be signed in to change notification settings - Fork 9
Systemd
patrick edited this page Jan 31, 2026
·
2 revisions
A sample unit file is provided in contrib/ircd.service. You'll need to install and enable it manually.
Copy the file to the systemd directory:
sudo install -m 0644 contrib/ircd.service /etc/systemd/system/ircd.service
If your paths or user differ from the defaults, edit the unit:
sudoedit /etc/systemd/system/ircd.service
Common adjustments:
- ExecStart: Binary path and flags.
- User / Group: The system user for the daemon.
- WorkingDirectory: Base directory.
- ReadWritePaths: Locations the ircd needs to write to
sudo systemctl daemon-reload
sudo systemctl enable --now ircd.service
Check status and logs:
sudo systemctl status ircd.service
sudo journalctl -u ircd.service -f
-
Reload config (SIGHUP):
sudo systemctl reload ircd.service -
Full restart:
sudo systemctl restart ircd.service -
Stop:
sudo systemctl stop ircd.service
Due to ProtectSystem=strict, the ircd may not be able to write core files to its own directory. Use systemd-coredump to manage crashes:
sudo apt install systemd-coredump
To list and export the last crash for debugging:
sudo coredumpctl list -u ircd.service
sudo coredumpctl dump -u ircd.service -o ircd_crash.core
-
Hardening: If it won't start, check if it's trying to write to a location not explicitly listed in
ReadWritePaths. -
Permissions: Ensure all paths in
ReadWritePathsare owned or writable by the configuredUser/Group. -
Test: Run with
-tmanually to verify the config syntax.