Re: Syncovery crashing on Fedora
Posted: Thu Jun 18, 2026 4:14 pm
Claude says:
The issue is almost certainly that SELinux doesn't recognize port 8999 as a port your service is allowed to bind to. You can fix it by labeling the port.
For a standard HTTP-type listener, add the port to the `http_port_t` type:
If it already exists with a different type, use `-m` (modify) instead of `-a` (add):
If `semanage` isn't installed:
To verify it worked:
---
Before assuming SELinux is the cause, confirm it. Check the audit log after a failed start:
or
If you see an AVC denial mentioning `name_bind` and port 8999, SELinux is indeed the culprit, and the `semanage port` command above resolves it. If you see no denials, the problem lies elsewhere (e.g. the systemd unit, working directory, or a different permission).
A couple of things worth checking depending on how SyncoveryCL is being launched:
If it runs as a **systemd service**, also confirm the unit has `WantedBy=multi-user.target` and is enabled (`sudo systemctl enable syncoverycl`), and that `Restart=` is set so it survives. A service that "doesn't stay running" can also be a unit that simply isn't enabled at boot, independent of SELinux.
If SyncoveryCL writes to a non-standard directory or PID file, SELinux may also deny that — the `ausearch` output will show it.
You can also temporarily test the SELinux hypothesis without changing policy:
Start the service, see if it binds. Then `sudo setenforce 1` and apply the proper `semanage` fix rather than leaving SELinux permissive.
The issue is almost certainly that SELinux doesn't recognize port 8999 as a port your service is allowed to bind to. You can fix it by labeling the port.
For a standard HTTP-type listener, add the port to the `http_port_t` type:
Code: Select all
sudo semanage port -a -t http_port_t -p tcp 8999If it already exists with a different type, use `-m` (modify) instead of `-a` (add):
Code: Select all
sudo semanage port -m -t http_port_t -p tcp 8999Code: Select all
sudo dnf install policycoreutils-python-utilsCode: Select all
sudo semanage port -l | grep 8999Before assuming SELinux is the cause, confirm it. Check the audit log after a failed start:
Code: Select all
sudo ausearch -m avc -ts recentCode: Select all
sudo journalctl -t setroubleshootA couple of things worth checking depending on how SyncoveryCL is being launched:
If it runs as a **systemd service**, also confirm the unit has `WantedBy=multi-user.target` and is enabled (`sudo systemctl enable syncoverycl`), and that `Restart=` is set so it survives. A service that "doesn't stay running" can also be a unit that simply isn't enabled at boot, independent of SELinux.
If SyncoveryCL writes to a non-standard directory or PID file, SELinux may also deny that — the `ausearch` output will show it.
You can also temporarily test the SELinux hypothesis without changing policy:
Code: Select all
sudo setenforce 0 # permissive mode, temporary until reboot