Syncthing: Difference between revisions

From wikinotes
Line 9: Line 9:
|-
|-
| docs: firewall || https://docs.syncthing.net/users/firewall.html
| docs: firewall || https://docs.syncthing.net/users/firewall.html
|-
| docs: rest api || https://docs.syncthing.net/dev/rest.html
|-
|-
| docs: cli || https://docs.syncthing.net/users/syncthing.html
| docs: cli || https://docs.syncthing.net/users/syncthing.html

Revision as of 18:12, 29 January 2023

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: rest api https://docs.syncthing.net/dev/rest.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.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:

When configuring the address, you only need to specify the sync port, not the webui.
You can also use dynamic, which will try to identify the device on your local network.
You can also use a combination of the two, connecting on your local network if available, but falling back on a public host/port.

Address: tcp://foo.com:22000,dynamic  # combination of sync addresses

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