Exits with error in AlmaLinux 10 as service

I’m in AlmaLinux 10, where I put my backup data; it’s my home LAN server with no interaction outside the private network. CUMBLIDATE is the name of the machine.

If I start syncthing as a regular process from command-line, everything works fine: I can sync my phone and my laptop. But I cannot start syncthing as a service. This is the output of journalctl -xeu in my server (thru SSH):

$ sudo journalctl -xeu syncthing@myuser.service

░░ Subject: Process /usr/bin/syncthing could not be executed ░░ Defined-By: systemd ░░ Support: Help and Support | AlmaLinux Wiki ░░ The process /usr/bin/syncthing could not be executed and failed. ░░ The error number returned by this process is 13.

Jan 29 21:12:33 CUMBLIDATE systemd[1]: syncthing@myuser.service: Main process exited, cod> ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ An ExecStart= process belonging to unit syncthing@myuser.service has exited. ░░ The process’ exit code is ‘exited’ and its exit status is 203.

Jan 29 21:12:33 CUMBLIDATE systemd[1]: syncthing@myuser.service: Failed with result 'exit> ░░ Subject: Unit failed ░░ Defined-By: systemd

░░ The unit syncthing@myuser.service has entered the ‘failed’ state with result 'exit-cod>

Jan 29 21:12:35 CUMBLIDATE systemd[1]: syncthing@myuser.service: Scheduled restart job, r> ░░ Subject: Automatic restarting of a unit has been scheduled ░░ Defined-By: systemd ░░ Automatic restarting of the unit syncthing@myuser.service has been scheduled, as the r> ░░ the configured Restart= setting for the unit.

Jan 29 21:12:35 CUMBLIDATE systemd[1]: syncthing@myuser.service: Start request repeated t>

Jan 29 21:12:35 CUMBLIDATE systemd[1]: syncthing@myuser.service: Failed with result 'exit> ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: ░░ ░░ The unit syncthing@myuser.service has entered the ‘failed’ state with result 'exit-cod>

Jan 29 21:12:35 CUMBLIDATE systemd[1]: Failed to start syncthing@myuser.service - Syncthi> ░░ Subject: A start job for unit syncthing@myuser.service has failed ░░ Defined-By: systemd ░░ Support:

░░ A start job for unit syncthing@myuser.service has finished with a failure. ░░ The job identifier is 908036 and the job result is failed.

Jan 29 21:12:52 CUMBLIDATE systemd[1]: syncthing@myuser.service: Start request repeated t>

Jan 29 21:12:52 CUMBLIDATE systemd[1]: syncthing@myuser.service: Failed with result 'exit> ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ The unit syncthing@myuser.service has entered the ‘failed’ state with result 'exit-code>

Jan 29 21:12:52 CUMBLIDATE systemd[1]: Failed to start syncthing@myuser.service - Syncthi> ░░ Subject: A start job for unit syncthing@myuser.service has failed ░░ Defined-By: systemd

░░ A start job for unit syncthing@myuser.service has finished with a failure. ░░ The job identifier is 908218 and the job result is failed. lines 1370-1395/1395 (END) ░░ The unit syncthing@myuser.service has entered the ‘failed’ state with result ‘exit-code’.

Jan 29 21:12:35 CUMBLIDATE systemd[1]: Failed to start syncthing@myuser.service - Syncthing - Open Source Continuous File Synchronization for myuser. ░░ Subject: A start job for unit syncthing@myuser.service has failed ░░ Defined-By: systemd

░░ A start job for unit syncthing@myuser.service has finished with a failure.

░░ The job identifier is 908036 and the job result is failed. Jan 29 21:12:52 CUMBLIDATE systemd[1]: syncthing@myuser.service: Start request repeated too quickly.

Jan 29 21:12:52 CUMBLIDATE systemd[1]: syncthing@myuser.service: Failed with result ‘exit-code’. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: ░░ ░░ The unit syncthing@myuser.service has entered the ‘failed’ state with result ‘exit-code’.

Jan 29 21:12:52 CUMBLIDATE systemd[1]: Failed to start syncthing@myuser.service - Syncthing - Open Source Continuous File Synchronization for myuser. ░░ Subject: A start job for unit syncthing@myuser.service has failed ░░ Defined-By: systemd

░░ A start job for unit syncthing@myuser.service has finished with a failure. ░░ ░░ The job identifier is 908218 and the job result is failed.

There are other services working OK in my home-server, so systemctl itself is not the problem.

I managed to connect all three nodes (home server, laptop, phone). The connection to the non-GUI home server was no fuzz at all, but it was done when syncthing was running as a command-line process.

I followed this guide for the server part: How to Install Syncthing on AlmaLinux 9 .

After rebooting the home-server, this is the status:

$ sudo systemctl status syncthing@myuser.service

× syncthing@myuser.service - Syncthing - Open Source Continuous File Synchronization for >
Loaded: loaded (/etc/systemd/system/syncthing@.service; enabled; preset: disabled)

Active: failed (Result: exit-code) since Thu 2026-01-29 21:43:18 CST; 13min ago
Duration: 41ms
Invocation: c156c45592b94c2db3063183338f88ff
Docs: man:syncthing(1)

Process: 1360 ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0 → 
Main PID: 1360 (code=exited, status=203/EXEC)

Jan 29 21:43:18 CUMBLIDATE systemd[1]: syncthing@myuser.service: Scheduled restart job, r>
Jan 29 21:43:18 CUMBLIDATE systemd[1]: syncthing@myuser.service: Start request repeated t>

Jan 29 21:43:18 CUMBLIDATE systemd[1]: syncthing@myuser.service: Failed with result 'exit>
Jan 29 21:43:18 CUMBLIDATE systemd[1]: Failed to start syncthing@myuser.service - Syncthi>
lines 1-13/13 (END)

I’d suggest to use our systemd unit file:

I’m afraid I still have problems. After changing the .service file to what you suggested, I did this:

$ sudo systemctl daemon-reload

$ sudo systemctl restart syncthing@myuser.service

$sudo systemctl status syncthing@myuser.service

× syncthing@myuser.service - Syncthing - Open Source Continuous File Synchronization for myuser
Loaded: loaded (/etc/systemd/system/syncthing@.service; enabled; preset: disabled)
Active: failed (Result: exit-code) since Fri 2026-01-30 21:42:33 CST; 16s ago
Duration: 25ms
Invocation: 3ecbe1eb64834a7fa43bba43109b9db6
Docs: man:syncthing(1)
Process: 8043 ExecStart=/usr/bin/syncthing serve --no-browser --no-restart (code=exited, status=203/EXEC)
Main PID: 8043 (code=exited, status=203/EXEC)

Jan 30 21:42:33 CUMBLIDATE systemd[1]: syncthing@myuser.service: Scheduled restart job, restart counter is at 4.
Jan 30 21:42:33 CUMBLIDATE systemd[1]: syncthing@myuser.service: Start request repeated too quickly.
Jan 30 21:42:33 CUMBLIDATE systemd[1]: syncthing@myuser.service: Failed with result ‘exit-code’.
Jan 30 21:42:33 CUMBLIDATE systemd[1]: Failed to start syncthing@myuser.service - Syncthing - Open Source Continuous File Synchronization for myuser.

Why do I have error 203/EXEC, if path to binary syncthing is same as in Exec line (/usr/bin/syncthing)?

The funny thing is that running the same process via command-line, I get different outcome :((

Did you actually put Syncthing at /usr/bin/syncthing? The error implies that might not be the case. Double check.

Yes, it was the first thing to do when I checked the error.

But now you ask, I see that the binary (/usr/bin/syncthing) is owned by my user, because I downloaded from source… Is that correct? However, the unit for systemd is run in user space, so I guess it is correct.

Firewall is OK: syncthing is included in services allowed.

Also, the error code 203 is related to SELinux permissions and restrictions. If that’s the case, I’m lost at troubleshooting.

Binaries in /usr/bin should be owned by root and should have 755 as permissions.

Shame on me! So simple, and basic, yet I did not see.

Changing to owner root and proper permission solved the thing. Thanks