Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
howto:systemd [2019/09/04 13:22] – typo digital man | howto:systemd [2020/01/31 12:04] – Clean-up. Provide download link to sbbs.service in CVS. Use wildcards in setcap command. digital man | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Start Synchronet BBS from Systemd ====== | ====== Start Synchronet BBS from Systemd ====== | ||
- | If you run modern GNU/ | + | If you run a modern GNU/ |
- | Instead | + | In this case, instead |
- | Create and edit the follow files (please correct your ExecStart path and User/Group as you need): | + | Create and edit (or download from [[http:// |
===== Ubuntu 16.04+ ===== | ===== Ubuntu 16.04+ ===== | ||
- | / | + | '' |
- | [Unit] | + | < |
+ | [Unit] | ||
Description=Synchronet BBS service | Description=Synchronet BBS service | ||
Documentation=man: | Documentation=man: | ||
After=syslog.target network.target | After=syslog.target network.target | ||
| | ||
- | | + | [Service] |
Type=forking | Type=forking | ||
Environment=SBBSROOT=/ | Environment=SBBSROOT=/ | ||
Line 20: | Line 21: | ||
Group=sbbs | Group=sbbs | ||
PermissionsStartOnly=true | PermissionsStartOnly=true | ||
- | ExecStartPre=/ | + | ExecStartPre=/ |
ExecStart=/ | ExecStart=/ | ||
ExecReload=/ | ExecReload=/ | ||
Line 26: | Line 27: | ||
RestartSec=30 | RestartSec=30 | ||
| | ||
- | | + | [Install] |
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
+ | </ | ||
Some points in this config: | Some points in this config: | ||
Line 35: | Line 37: | ||
* **User/ | * **User/ | ||
* **PermissionsStartOnly**. This one tells systemd to execute ExecStartPre as root, but ExecStart as the user and group declared in User, | * **PermissionsStartOnly**. This one tells systemd to execute ExecStartPre as root, but ExecStart as the user and group declared in User, | ||
- | * **ExecStartPre**. Capabilities are lost from the sbbs executable every time it is recompiled. It is possible to mitigate the effect by running setcap just before the daemon is ran. The binding won't fail anymore using this. Please notice you can't point a symlink here, so modify the architecture directory to the right path (gcc.linux.x64.exe.release or gcc.linux.exe.release). | + | * **ExecStartPre**. Capabilities are lost from the sbbs executable every time it is recompiled. It is possible to mitigate the effect by running setcap just before the daemon is ran. The binding won't fail anymore using this. Please notice you can't point to a symlink here). |
* **ExecStart**. If you don't want to get syslog entries duplicated you will have to run SBBS in daemonized mode, so the " | * **ExecStart**. If you don't want to get syslog entries duplicated you will have to run SBBS in daemonized mode, so the " | ||
* **RestartSec**. It's advisable to wait some secs before attempting restarting in case of failure, just to give some time for binding release. | * **RestartSec**. It's advisable to wait some secs before attempting restarting in case of failure, just to give some time for binding release. |