AlmaLinuxRHEL Based

How To Install Syncthing on AlmaLinux 9

Install Syncthing on AlmaLinux 9

In today’s interconnected world, efficient file synchronization is crucial for both personal and professional use. Syncthing, an open-source continuous file synchronization program, offers a robust solution for keeping your files in sync across multiple devices. This guide focuses on installing Syncthing on AlmaLinux 9, a powerful and stable Linux distribution that’s perfect for hosting such applications.

AlmaLinux 9, as a downstream binary-compatible fork of Red Hat Enterprise Linux (RHEL), provides an excellent platform for running Syncthing. Whether you’re a system administrator looking to implement a file synchronization solution or an individual user wanting to keep your personal files in sync, this guide will walk you through the process step-by-step.

What is Syncthing?

Syncthing is a free, open-source file synchronization application that enables you to keep files up-to-date across multiple devices. It operates on a peer-to-peer model, eliminating the need for a centralized server. This decentralized approach not only enhances privacy but also provides greater flexibility in how you manage your synchronized data.

Core Features of Syncthing

  • Cross-platform compatibility: Syncthing works on various operating systems, including Linux, Windows, macOS, and Android.
  • End-to-end encryption: All communication is secured using TLS, ensuring your data remains private.
  • Automatic synchronization: Files are updated in real-time across all connected devices.
  • Version control: Syncthing can maintain multiple versions of your files, allowing you to recover from accidental changes or deletions.
  • Selective sync: You can choose which folders to synchronize on each device.

Syncthing operates by detecting changes in your specified folders and propagating these changes to other devices in your sync network. This peer-to-peer model means your data doesn’t pass through any central servers, enhancing both speed and privacy.

Advantages Over Other File Sync Solutions

Compared to cloud-based solutions like Dropbox or Google Drive, Syncthing offers several advantages:

  • Complete control over your data
  • No storage limits (beyond your own hardware)
  • No recurring subscription fees
  • Enhanced privacy and security

Use Cases for Syncthing

Syncthing is versatile and can be used in various scenarios:

  • Keeping work files synchronized across multiple computers
  • Backing up important documents to a home server
  • Sharing large datasets among research team members
  • Synchronizing media libraries across devices

Prerequisites

Before we dive into the installation process, ensure you have the following:

  • An AlmaLinux 9 system with at least 1GB of RAM and 10GB of free disk space
  • Root access or a user account with sudo privileges
  • An active internet connection for downloading packages
  • Basic familiarity with the Linux command line

It’s also recommended to update your system before proceeding:


sudo dnf update -y

Installing Syncthing on AlmaLinux 9

There are two primary methods to install Syncthing on AlmaLinux 9: using the EPEL repository or manual installation from the official binary. We’ll cover both methods to give you flexibility in your approach.

Method 1: Using EPEL Repository

The EPEL (Extra Packages for Enterprise Linux) repository provides additional packages for Enterprise Linux distributions, including AlmaLinux. This method is straightforward and allows for easy updates through the package manager.

Step 1: Enable EPEL Repository

First, we need to enable the EPEL repository:


sudo dnf install epel-release -y

Step 2: Install Syncthing Package

With EPEL enabled, we can now install Syncthing:


sudo dnf install syncthing -y

This command will download and install Syncthing along with any necessary dependencies.

Method 2: Manual Installation from Official Binary

If you prefer to have the latest version or want more control over the installation process, you can manually install Syncthing from the official binary.

Step 1: Download Syncthing Binary

First, download the latest Syncthing binary for Linux:

wget https://github.com/syncthing/syncthing/releases/download/v1.27.12/syncthing-linux-amd64-v1.27.12.tar.gz

Note: Replace the version number in the URL with the latest version available on the Syncthing GitHub releases page.

Step 2: Verify the Downloaded File

It’s good practice to verify the integrity of the downloaded file:

sha256sum syncthing-linux-amd64-v1.27.12.tar.gz

Compare the output with the SHA256 hash provided on the Syncthing releases page.

Step 3: Extract and Move to Appropriate Directory

Extract the archive and move the binary to a suitable location:

tar -zxvf syncthing-linux-amd64-vv1.27.12.tar.gz
sudo mv syncthing-linux-amd64-vv1.27.12/syncthing /usr/local/bin/

Comparing Installation Methods

Both methods have their merits:

  • EPEL method: Easier to install and update, integrates well with the system package manager.
  • Manual method: Provides the latest version and more control over the installation process.

Choose the method that best suits your needs and system management preferences.

Configuring Syncthing

After installation, we need to configure Syncthing to run as a service and set up autostart.

Creating a Syncthing Service File

Create a systemd service file for Syncthing:

sudo nano /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

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

Save and close the file.

Setting Up Autostart

Enable and start the Syncthing service:

sudo systemctl enable syncthing@$USER
sudo systemctl start syncthing@$USER

Configuring Firewall Rules

If you’re using firewalld, allow Syncthing through the firewall:

sudo firewall-cmd --permanent --add-port=22000/tcp
sudo firewall-cmd --permanent --add-port=21027/udp
sudo firewall-cmd --reload

Initial Syncthing Setup

Syncthing’s web GUI is now accessible at `http://localhost:8384`. For initial setup, you may need to use SSH tunneling to access it remotely.

Accessing Syncthing Web GUI

Local Access

If you’re working directly on the AlmaLinux 9 system, you can access the Syncthing web GUI by opening a web browser and navigating to `http://localhost:8384`.

Install Syncthing on AlmaLinux 9

Remote Access Setup

For remote access, you have several options:

  1. SSH Tunneling: Use the following command on your local machine:
    ssh -L 8384:localhost:8384 user@your_almalinux_server

    Then access the GUI at `http://localhost:8384` on your local machine.

  2. Reverse Proxy: Set up a reverse proxy using Nginx or Apache to securely expose the Syncthing web GUI.

Security Considerations for Web GUI

Always prioritize security when setting up remote access:

  • Use strong, unique passwords for both your AlmaLinux system and Syncthing GUI
  • Enable HTTPS if exposing the web GUI directly
  • Consider using a VPN for added security

Congratulations! You have successfully installed Syncthing. Thanks for using this tutorial for installing the Syncthing on the AlmaLinux 9 system. For additional help or useful information, we recommend you check the official Syncthing website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to idroot.us, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button