# Syncthing ###### guide-by-example ![logo](https://i.imgur.com/Vgtn1FM.png) # Purpose & Overview Synchronize folders between devices.
* [Official](https://syncthing.net/) * [Github](https://github.com/syncthing/syncthing) Simple and elegant solution for Synchronizing folders.
Clients are installed on devices, and paired with the Syncthing server. There are Windows, MacOs, Linux, Android clients, and 3rd party Möbius Sync for iOS. Written in Go. # Files and directory structure ``` /home/ └── ~/ └── docker/ └── syncthing/ ├── 🗋 .env └── 🗋 docker-compose.yml ``` * `.env` - a file containing environment variables for docker compose * `docker-compose.yml` - a docker compose file, telling docker how to run the container # Compose `docker-compose.yml` ```yml services: syncthing: image: syncthing/syncthing container_name: syncthing hostname: syncthing restart: unless-stopped env_file: .env volumes: - /mnt/mirror/syncthing:/var/syncthing ports: - 8384:8384 # Web UI - 22000:22000/tcp # TCP file transfers - 22000:22000/udp # QUIC file transfers - 21027:21027/udp # Receive local discovery broadcasts networks: default: name: $DOCKER_MY_NETWORK external: true ``` `.env` ```bash # GENERAL DOCKER_MY_NETWORK=caddy_net TZ=Europe/Bratislava # SYNCTHING PUID=1000 PGID=1000 ``` # Reverse proxy Caddy v2 is used, details [here](https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/caddy_v2). `Caddyfile` ```php sync.{$MY_DOMAIN} { reverse_proxy syncthing:8384 } ``` # First run ![webgui](https://i.imgur.com/ywdYeU2.png) visit the webgui, setup username and password in settings > GUI. * intall sync on other devices * add folders, confirm them on webgui sync should just start. # Trouble shooting # Update Manual image update: - `docker compose pull`
- `docker compose up -d`
- `docker image prune`