Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howto:systemd [2016/12/15 12:11] – Corrected systemd file Karloch | 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 33: | Line 35: | ||
* **Type**. If you are to run SBBS in daemonized mode, the main executable will exit after the daemon is called. This could confuse systemd into thinking the process is finished. If you use " | * **Type**. If you are to run SBBS in daemonized mode, the main executable will exit after the daemon is called. This could confuse systemd into thinking the process is finished. If you use " | ||
* **Environment**. In order to avoid having multiple files, you can embed the variables inside the service file. | * **Environment**. In order to avoid having multiple files, you can embed the variables inside the service file. | ||
- | * **PermissionsStartOnly**. This one tells systemd to execute ExecStartPre as root, but ExecStart as the user and group declared in User, | + | * **User/ |
- | * **ExecStartPre**. | + | * **PermissionsStartOnly**. This one tells systemd to execute ExecStartPre as root, but ExecStart as the user and group declared in User,Group. Can be removed if you remove the User/Group lines. |
+ | * **ExecStartPre**. | ||
* **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. | ||
Line 48: | Line 51: | ||
Running //systemctl status sbbs// will show: | Running //systemctl status sbbs// will show: | ||
- | ● sbbs.service - Synchronet BBS service | + | |
Loaded: loaded (/ | Loaded: loaded (/ | ||
Active: active (running) since Thu 2016-12-15 20:20:43 CET; 16s ago | Active: active (running) since Thu 2016-12-15 20:20:43 CET; 16s ago | ||
Line 67: | Line 70: | ||
Dec 11 20:24:03 HISPAMSX sbbs[1226]: term Node 1 thread terminated (0 node threads remain, 71 clients served) | Dec 11 20:24:03 HISPAMSX sbbs[1226]: term Node 1 thread terminated (0 node threads remain, 71 clients served) | ||
+ | ===== Monitoring with Byobu (Tmux backend) ===== | ||
+ | You can have a text mode dashboard for monitoring and configuring your BBS realtime by using Byobu with Tmux or GNU Screen backends. If you are using the Tmux backend. The following configuration splits your screen in three panes: one for SBBS log, other for UMONITOR and a last one for SCFG. Please note that this configuration assumes SBBSCTRL variable is set and that access permissions to the needed files are set for the current user. | ||
+ | |||
+ | Create the file '' | ||
+ | |||
+ | new-session sbbs ; | ||
+ | new-window -n sbbs tail -n 50 -f / | ||
+ | split-window -h / | ||
+ | split-window -t 1 -v / | ||
+ | set-option mouse on | ||
+ | |||
+ | And then run: '' | ||
+ | |||
+ | If you want this to be your default environment when you log at your Synchronet server, then write the configuration to the '' | ||
+ | |||
+ | The following screenshot shows the result: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | If are using also **binkd** for FidoNet, this configuration will split the dashboard in 4 panes: | ||
+ | |||
+ | new-session sbbs ; | ||
+ | new-window -n sbbs tail -n 50 -f / | ||
+ | split-window -p 50 -h / | ||
+ | split-window -t 0 -p 20 -v tail -f / | ||
+ | split-window -t 1 -v / | ||
+ | set-option mouse on | ||
+ | |||
+ | {{: | ||
+ | ===== Debian & CentOS 7 ===== | ||
- | ===== Debian ===== | ||
/ | / | ||
SBBSCTRL=/ | SBBSCTRL=/ | ||
Line 138: | Line 170: | ||
{{: | {{: | ||
+ | |||
+ | ===== Recommended Tweaks to the Service Section === | ||
+ | Add these to the '' | ||
+ | |||
+ | To increase the open file limit: | ||
+ | LimitNOFILE=10000 | ||
+ | |||
+ | To allow core file generation (for crash/ | ||
+ | LimitCORE=infinity | ||
===== See Also ===== | ===== See Also ===== | ||
* [[: | * [[: | ||
- | + | * [[https:// | |
- | {{tag>}} | + | {{tag>linux systemd}} |