Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
howto:systemd [2021/01/01 13:44] digital man [Ubuntu 16.04+] Retros tip from IRC |
howto:systemd [2022/06/27 14:03] nelgin [Ubuntu 16.04+] typo |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Start Synchronet BBS from Systemd ====== | + | ====== Start Synchronet BBS from systemd ====== |
- | If you run a modern GNU/Linux distribution, you will likely discover [[https://en.wikipedia.org/wiki/Systemd|Systemd]] is used as the init system (for starting and control system services/daemons). | + | If you run a modern GNU/Linux distribution, you will likely discover [[https://en.wikipedia.org/wiki/Systemd|systemd]] is used as the init system (for starting and control system services/daemons). |
In this case, instead of use the old SysV-style /etc/init.d/sbbs.service init script, you use a systemd services unit file: | In this case, instead of use the old SysV-style /etc/init.d/sbbs.service init script, you use a systemd services unit file: | ||
Create and edit (or download from [[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/install/systemd/sbbs.service|here]]) the following file (please correct your ExecStart path and User/Group as you need): | Create and edit (or download from [[http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/install/systemd/sbbs.service|here]]) the following file (please correct your ExecStart path and User/Group as you need): | ||
+ | |||
+ | ===== Where is My Service File? ===== | ||
+ | |||
+ | If you are already running Synchronet from systemd but can't remember where the config file is, the following commands will help. | ||
+ | |||
+ | ''systemctl status'', then when viewing the file type ''/sbbs''. Note the service name (probably sbbs.service). ''q'' to quit back to the command line. | ||
+ | |||
+ | Use that service name to return the path to the config file. Example: ''systemctl show -p FragmentPath sbbs.service'' | ||
+ | |||
===== Ubuntu 16.04+ ===== | ===== Ubuntu 16.04+ ===== | ||
Line 18: | Line 27: | ||
Type=forking | Type=forking | ||
Environment=SBBSROOT=/sbbs SBBSCTRL=/sbbs/ctrl | Environment=SBBSROOT=/sbbs SBBSCTRL=/sbbs/ctrl | ||
+ | # this stops you running out of files | ||
+ | LimitNOFILE=10000 | ||
+ | # this enables you to take a good core dump | ||
+ | LimitCORE=infinity | ||
User=sbbs | User=sbbs | ||
Group=sbbs | Group=sbbs | ||
Line 121: | Line 134: | ||
- | Finally, you must execute //systemd daemon-reload// for tell systemd te reload the unit file | + | Finally, you must execute //systemd daemon-reload// for tell systemd to reload the unit file |
Test your setup: | Test your setup: | ||
Line 171: | Line 184: | ||
===== Recommended Tweaks to the Service Section === | ===== Recommended Tweaks to the Service Section === | ||
- | Add these to the ''[Service]'' section: | + | Add these to the ''[Service]'' section of your service's config file: |
To increase the open file limit: | To increase the open file limit: | ||
- | LimitNOFILE=10000 | + | <file sbbs.service> |
+ | LimitNOFILE=10000 | ||
+ | </file> | ||
To allow core file generation (for crash/segfault debugging: | To allow core file generation (for crash/segfault debugging: | ||
- | LimitCORE=infinity | + | <file sbbs.service> |
+ | LimitCORE=infinity | ||
+ | </file> | ||
===== See Also ===== | ===== See Also ===== |