Syncthing

From wikinotes
Revision as of 15:32, 29 January 2023 by Will (talk | contribs) (→‎Locations)

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

<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.service
pkg 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