This is an old revision of the document!


Syncthing

Syncthing is an open-source file synchronization client and server.

Install the packages and configure Syncthing to run at boot.

sudo pkg install syncthing
sudo sysrc syncthing_enable=YES

Create the directory where Syncthing's shares will be kept:

sudo mkdir /var/syncthing/
sudo chown -R syncthing:syncthing /var/syncthing/
sudo chmod -R 750 /var/syncthing/

Create a backup copy of the config file:

If this file doesn't already exist, start the syncthing service to generate it. Stop the service again after a few seconds.

sudo cp /usr/local/etc/syncthing/config.xml{,.orig}

Update the config file and make the following changes:

sudo vim /usr/local/etc/syncthing/config.xml
  • Change <folder path="/Sync" ... to <folder path="/var/syncthing" ...
  • Change <defaultFolderPath> to /var/syncthing/

Add a firewall rule to allow incoming traffic on these ports (and then restart your firewall after to load the new rules):

  • TCP 22000
  • UDP 22000
  • (OPTIONAL) TCP 8384 (Syncthing's admin panel, only expose this port if you want to be able to allow remote configuration of this server)

Nginx: Create a server block to serve the admin GUI

server {

  listen 80;

  server_name syncthing.yourdomain.com;

  root /usr/share/nginx/syncthing;
  access_log /var/log/nginx/syncthing.log;
  error_log /var/log/nginx/syncthing.err;

  location / {
    proxy_pass http://127.0.0.1:8384;
  }

}

Start Syncthing

sudo service syncthing start

Browse to the Syncthing control panel to start using the tool

https://[your-servers-ip-address]:8384

  • syncthing.1623090944.txt.gz
  • Last modified: 2021/06/07 18:35
  • by GaelanLloyd