Best Way to Install and Configure Syncthing on AlmaLinux 9
This guide aims to instruct you on how to Install and Configure Syncthing on AlmaLinux 9. Syncthing stands as an open-source file synchronization tool, empowering users to securely and efficiently synchronize files and directories across various devices or nodes. Its decentralized and peer-to-peer architecture eliminates the need for a central server in the synchronization process. This makes it a powerful and secure solution for data sharing across a network.
On the Orcacore website, we’ll walk you through the process of setting up Syncthing on AlmaLinux 9 and accessing it through the web interface. Let’s explore the best way to Install and Configure Syncthing on AlmaLinux 9.
Before initiating your Syncthing setup, ensure you have accessed your server as a non-root user with sudo privileges and established a basic firewall. Refer to the AlmaLinux 9 Initial Setup Guide for assistance.
Then, follow the steps below to Install and Configure Syncthing on AlmaLinux 9.
Step 1 – Download and Install the Latest Syncthing on AlmaLinux 9
Begin by updating your system using the following command:
sudo dnf update -y
Next, visit the GitHub Release Page for Syncthing and use the following command to download the latest source code package:
curl -s https://api.github.com/repos/syncthing/syncthing/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
Once the download is complete, extract the package using the command below:
sudo tar xvf syncthing-linux-amd64*.tar.gz
Then, copy the Syncthing binary files to the /usr/bin
directory:
sudo cp syncthing-linux-amd64-*/syncthing /usr/bin/
At this point, you can verify your Syncthing installation on AlmaLinux 9 by checking its version:
syncthing --version
**Output**
syncthing v1.27.3 "Gold Grasshopper" (go1.21.6 linux-amd64) builder@github.syncthing.net 2024-01-15 03:45:19 UTC
Step 2 – Manage Syncthing Service with Systemd on AlmaLinux 9
Now, create a systemd unit file to manage your Syncthing service via systemd. First, create a user for Syncthing and add it to the wheel group using the commands below:
# sudo useradd -m <mark>syncthing</mark>
# sudo usermod -aG wheel <mark>syncthing</mark>
Then, set a password for your Syncthing user:
sudo passwd <mark>syncthing</mark>
Now, use your preferred text editor, such as the Vi Editor or Nano Editor, to create your Syncthing systemd unit file on AlmaLinux 9:
sudo vi /etc/systemd/system/syncthing@.service
Add the following content to the file:
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4
[Service]
User=%i
ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true
# Elevated permissions to sync ownership (disabled by default),
# see https://docs.syncthing.net/advanced/folder-sync-ownership
#AmbientCapabilities=CAP_CHOWN CAP_FOWNER
[Install]
WantedBy=multi-user.target
Note: To allow listening on all interfaces, use the following ExecStart
line:
ExecStart=/usr/bin/syncthing --no-browser --gui-address="0.0.0.0:8384" --no-restart --logflags=0
Save and close the file when finished.
Next, reload the systemd service to apply the changes:
sudo systemctl daemon-reload
Start and enable your Syncthing service on AlmaLinux 9 using the commands below. Remember to specify your Syncthing user:
# sudo systemctl start syncthing@<mark>syncthing</mark>
# sudo systemctl enable syncthing@<mark>syncthing</mark>
Verify that your service is active and running:
sudo systemctl status syncthing@<mark>syncthing</mark>

Step 3 – Configure Firewall Rules For Syncthing
Assuming you have a running FirewallD, allow the following ports through your AlmaLinux 9 firewall:
sudo firewall-cmd --add-port={8384,22000}/tcp --zone=public --permanent
Reload the firewall to apply the new rules:
sudo firewall-cmd --reload
Step 4 – Access Syncthing via Web Interface
You have now learned to Install and Configure Syncthing on AlmaLinux 9. Access your Syncthing web UI by typing your server’s IP address in your web browser followed by port 8384:
https://localhost_or_ServerIP:8384
Upon accessing your Syncthing Web UI, you will see a warning message prompting you to set a GUI Authentication User and Password in the Settings dialog. Click on Settings.

Navigate to the GUI tab. From there, you can set your username and password. Then, click Save.

Next, enter your credentials and click log in.

You will now see your Syncthing Web UI on AlmaLinux 9.

Syncthing web UI offers a comprehensive set of tools for managing and monitoring file synchronization, providing users with control, visibility, and flexibility in managing their data across multiple devices.
Conclusion
You have now successfully learned how to Install and Configure Syncthing on AlmaLinux 9 and access the Syncthing Web UI to manage your files from a graphical user interface.
You may also like to read the following articles:
Install Syncthing on Ubuntu 22.04
Transfer Files from Linux Server to Local Machine
Copy Files and Folders on AlmaLinux
Set Up NFS Server and Client on AlmaLinux 9
Set up Samba Share on AlmaLinux 9
Alternative Solutions for File Synchronization on AlmaLinux 9
While the above guide outlines a solid method for installing and configuring Syncthing, alternative approaches exist for achieving file synchronization on AlmaLinux 9. Here are two such alternatives:
1. Using Resilio Sync (formerly BitTorrent Sync)
Resilio Sync is a proprietary peer-to-peer file synchronization tool that offers similar functionality to Syncthing. However, it utilizes the BitTorrent protocol for data transfer, which can provide faster synchronization speeds, especially when dealing with large files or unreliable networks.
Explanation:
Resilio Sync works by creating a secure, distributed network between your devices. Instead of relying on a central server, it splits files into small pieces and transfers them directly between devices, maximizing bandwidth utilization. This can be particularly beneficial for users who need to sync large amounts of data or those who have limited bandwidth.
Installation and Configuration:
While Resilio Sync isn’t available in the standard AlmaLinux repositories, you can download the RPM package from the Resilio Sync website and install it using dnf
:
sudo dnf install <path_to_resilio_sync_rpm_file>
After installation, you can configure Resilio Sync through its web interface (usually accessible at http://localhost:8888
). The configuration process involves creating or joining "sync folders" and sharing "secret keys" with other devices you want to synchronize with.
Key Differences from Syncthing:
- License: Resilio Sync is proprietary software, while Syncthing is open-source.
- Protocol: Resilio Sync uses the BitTorrent protocol, while Syncthing uses its own block exchange protocol.
- Speed: Resilio Sync can be faster in certain scenarios due to its protocol, especially over WAN connections.
- Features: Resilio Sync offers some features not found in Syncthing, such as selective sync and versioning (in paid versions).
2. Using Nextcloud for File Synchronization and More
Nextcloud is a self-hosted open-source platform that provides file synchronization, sharing, and collaboration capabilities, along with a suite of other features like calendar, contacts, and office document editing. While it’s more than just a file synchronization tool, it can be used effectively for that purpose.
Explanation:
Nextcloud operates as a personal cloud server. You install it on your AlmaLinux 9 server, and then use client applications on your devices (desktop, mobile) to synchronize files with the server. The server acts as a central hub for your data.
Installation and Configuration:
Installing Nextcloud on AlmaLinux 9 involves setting up a web server (like Apache or Nginx), a database (like MariaDB or PostgreSQL), and PHP. The exact steps are beyond the scope of this short section, but many comprehensive tutorials are available online. A simplified method can be achieved with snap packages.
For instance, with snap:
sudo dnf install snapd
sudo systemctl enable --now snapd.socket
sudo snap install nextcloud
Once installed, access Nextcloud through your web browser (usually at the server’s IP address). You’ll need to create an administrator account and configure your storage settings. Then, install the Nextcloud client application on your devices and connect them to your server.
Key Differences from Syncthing:
- Architecture: Nextcloud uses a client-server architecture, while Syncthing is peer-to-peer.
- Features: Nextcloud offers a wider range of features beyond file synchronization, including collaboration tools, calendar, contacts, and more.
- Complexity: Nextcloud is generally more complex to set up and maintain than Syncthing.
- Privacy: Nextcloud keeps files in a central server under your control.
- Resources: Nextcloud generally requires more server resources (CPU, memory, storage) than Syncthing.
Both Resilio Sync and Nextcloud offer viable alternatives to Syncthing for file synchronization on AlmaLinux 9. The best choice depends on your specific needs and priorities. Resilio Sync may be a good option if you need faster synchronization speeds and are willing to use proprietary software. Nextcloud is a better choice if you need a comprehensive collaboration platform with a wide range of features.