How to Install Synthing on Centos 7

Notes specific to this installation method:

  • SELinux disabled
  • firewall disabled

Visit https://syncthing.net/ to download the latest version of Synthing for your CPU architecture. I used amd64 version 0.12.15 as of time of writing this.

All the commands below to be ran on the CLI as root.

Download the archive:

cd /tmp && wget https://github.com/syncthing/syncthing/releases/download/v0.12.15/syncthing-linux-amd64-v0.12.15.tar.gz

Unarchive it:

tar -zxvf syncthing-linux-amd64-v0.12.15.tar.gz

Copy syncthing binary to /usr/local/bin:

cp syncthing-linux-amd64-v0.12.15/syncthing /usr/local/bin

Create systemd service configuration file:

vi /etc/systemd/system/syncthing\@.service

Paste the following into the above file:

[Unit]
Description=Syncthing for %i

[Service]
Type=simple
User=%i
ExecStart=/usr/local/bin/syncthing
WorkingDirectory=%h

[Install]
WantedBy=multi-user.target

Optional: Create a dedicated user for Syncthing to run as:

useradd -c "Synthing User " -s /bin/nologin syncthing

Start syncthing for the first time to let it create the configuration directory skeleton. Replace USERNAME with either one created above or your own:

systemctl start syncthing@USERNAME

The step above, if executed without errors, should create the following inside /home/USERNAME/.config:

└── syncthing
    ├── cert.pem
    ├── config.xml
    ├── csrftokens.txt
    ├── https-cert.pem
    ├── https-key.pem
    └── key.pem

Edit the following file to make a configuration change to allow GUI admin panel access outside of localhost:

vi /home/USERNAME/.config/syncthing/config.xml

Change the following line from:

<address>127.0.0.1:8384</address>
to:
<address>0.0.0.0:8384</address>

Restart Syncthing for changes to take effect:

systemctl restart syncthing@USERNAME

Enable Synthing to start on server reboot:

systemctl enable syncthing@USERNAME

Verify if Syncthing is running:

systemctl status syncthing@USERNAME

It should produce the following output if all is well:

syncthing@USERNAME.service - Syncthing for USERNAME
Loaded: loaded (/etc/systemd/system/syncthing@.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2016-01-19 18:52:48 CST; 2h 1min ago
Main PID: 26544 (syncthing)
CGroup: /system.slice/system-syncthing.slice/syncthing@USERNAME.service
├─26544 /usr/local/bin/syncthing
└─26683 /usr/local/bin/syncthing

Using a web browser go to http://YOUR_SERVER_IP:8384 to finish up configuring Syncthing. At this point not much more is left to have a basic file syncing server:

  • set username and password for the admin panel access
  • enable https access for GUI
  • add more devices or copy this device's ID to use on others
  • edit or add shared folders

For more in depth configuration options nothing beats the official manuals http://docs.syncthing.net/intro/getting-started.html


Published

Category

Howto

Tags

Contact