Setting Up Syncthing
Syncthing is an open-source file synchronization client and server.
Contents
Installation
Install and configure Syncthing to run at boot.
# pkg install syncthing # sysrc syncthing_enable=YES
Create Syncthing Shares
# mkdir /var/syncthing/ # chown -R syncthing:syncthing /var/syncthing/ # chmod -R 750 /var/syncthing/
Create configuration backup
If this file doesn't already exist, start the syncthing service to generate it. Stop the service again after a few seconds.
# cp /usr/local/etc/syncthing/config.xml{,.orig}
Update the config file and make the following changes:
# vim /usr/local/etc/syncthing/config.xml
Change <folder path="/Sync" ... to <folder path="/var/syncthing" ...
Change <defaultFolderPath> to /var/syncthing/
Add firewall rules
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)
Admin GUI with Nginx
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 and Test
# service syncthing start
Browse to the Syncthing control panel to start using the tool
https://[your-servers-ip-address]:8384