Syncthing is a powerful and secure open-source file synchronization tool that synchronizes files across multiple devices and platforms. Whether you need to synchronize files between your computers, servers, or mobile devices, Syncthing offers a decentralized and flexible solution that prioritizes privacy and security. Syncthing lets you create your private file synchronization network, ensuring your data remains controlled and protected from third-party access.

In this guide, we will walk you through the step-by-step process of installing Syncthing on Ubuntu 24.04.

Step 1 – Add Syncthing Repository

By default, the Syncthing package is not included in the Ubuntu central repository, so you will need to add the Syncthing official repo to the APT source list.

First, install the required dependencies:

apt update -y
apt install gnupg2 curl apt-transport-https -y

Next, download the Syncthing GPG key:

curl -fsSL https://syncthing.net/release-key.txt | gpg --dearmor -o /etc/apt/trusted.gpg.d/syncthing.gpg

Next, add the Syncthing repository to APT.

echo "deb https://apt.syncthing.net/ syncthing release" | tee /etc/apt/sources.list.d/syncthing.list

Next, update the repository index.

apt update

Step 2 – Install Syncthing

At this point, the Syncthing repository is ready. You can now install Syncthing using the apt command:

apt install syncthing

Once Syncthing is installed, you can verify the Syncthing installation using the following command:

syncthing --version

You will see the Syncthing version in the following output:

syncthing v1.27.2-ds4 "Gold Grasshopper" (go1.22.2 linux-amd64) debian@debian 2024-11-08 06:50:53 UTC

Step 3 – Manage Syncthing Service

By default Syncthing service is managed by systemd. You can easily start, stop, and disable the Syncthing service via the systemctl command.

To start the Syncthing service, run:

systemctl start [email protected]

To enable the Syncthing service, run:

systemctl enable [email protected]

To check the status of the Syncthing service, run:

systemctl status [email protected]

Output:

[email protected] - Syncthing - Open Source Continuous File Synchronization for root
     Loaded: loaded (/usr/lib/systemd/system/[email protected]; disabled; preset: enabled)
     Active: active (running) since Wed 2025-05-14 06:44:27 UTC; 38s ago
       Docs: man:syncthing(1)
   Main PID: 5670 (syncthing)
      Tasks: 15 (limit: 4609)
     Memory: 15.2M (peak: 15.7M)
        CPU: 1.520s
     CGroup: /system.slice/system-syncthing.slice/[email protected]
             ├─5670 /usr/bin/syncthing serve --no-browser --no-restart --logflags=0
             └─5677 /usr/bin/syncthing serve --no-browser --no-restart --logflags=0

May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] INFO: QUIC listener ([::]:22000) starting
May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] INFO: Loading HTTPS certificate: open /root/.local/state/syncthing/https-cert.pem: no such file or directory
May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] INFO: Creating new HTTPS certificate
May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] INFO: GUI and API listening on 127.0.0.1:8384
May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] INFO: My name is "ubuntu"
May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] WARNING: Syncthing should not run as a privileged or system user. Please consider using a normal user account.
May 14 06:44:29 ubuntu syncthing[5670]: [VD6A4] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
May 14 06:44:42 ubuntu syncthing[5670]: [VD6A4] INFO: Joined relay relay://172.93.167.234:22067
May 14 06:44:49 ubuntu syncthing[5670]: [VD6A4] INFO: Detected 0 NAT services

Step 4 – Configure Syncthing

By default, Syncthing listens on localhost. To access Syncthing from the outside world, you will need to configure It to listen on your server IP.

Edit the Syncthing configuration file.

nano /root/.local/state/syncthing/config.xml

Find the following line:

        <address>127.0.0.1:8384</address>

Replace it with the following line:

        <address>your-server-ip:8384</address>

Save and close the file, then restart the Syncthing service:

systemctl restart [email protected]

Step 5 – Access Syncthing Web UI

Now, open your web browser and access the Syncthing web interface using the URL http://your-server-ip:8384. You will see the Syncthing dashboard on the following screen.

 

You can now follow the same steps to install Syncthing on another server and share files and folders between both servers.

Conclusion

In this guide, we’ve covered the steps to install Syncthing, configure its settings, and access its web interface for managing file synchronization across your devices. With Syncthing, you can synchronize files seamlessly, collaborate with others, and access your data from anywhere without relying on third-party cloud services or compromising the security of your files. You can try deploying Syncthing on dedicated server hosting from Atlantic.Net!