Syncthing
From wikinotes
self-hosted file synchronization tool written in go.
one server install can host, and control access to multiple shared folders.
Documentation
official docs https://docs.syncthing.net/ docs: firewall https://docs.syncthing.net/users/firewall.html docs: cli https://docs.syncthing.net/users/syncthing.html github https://github.com/syncthing/syncthing home https://syncthing.net/
Locations
${syncthing_home}/config.xml
depending on config, maybe user-home, or daemon-home http://127.0.0.1:8384
default web-ui TCP 22000
TCP based sync UDP 22000
QUIC based sync UDP 21027
(optional) discovery broadcasts ipv4, multicast ipv6
Clients
mobius sync ios synchronization client syncthing-gtk UI/systemtray for syncthing
Configuration
Web UI
NOTE:
You don't need to expose the UI to the public facing internet, only the synchronization ports.
<configuration version="37"> <gui enabled="true" tls="true" debugging="false"> <address>127.0.0.1:8384</address> </gui> </configuration>
Install
pacaur -S syncthing sudo systemctl --user enable syncthing.service sudo systemctl --user start syncthing.servicepkg install syncthing # rc.conf syncthing_enable="YES" syncthing_home="/usr/local/etc/syncthing" syncthing_user="syncthing" syncthing_group="syncthing"
Usage
Sharing Device IDs
Before computers can share a folder, both must add the other's device ID.
# on one syncthing syncthing-gtk - Settings: Show ID # on the other syncthing UI: - Add Remote Device:Sharing Folders
After each device has added the other, you can share existing folders.
From the computer with the share, choose to share with the other.Folders: org-mode - Edit: - Tab: Sharing - Unshared Devices: - [x] your-other-device - Save