# Syncthing
## Descrizione [![Sito ufficiale](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=firefoxbrowser&style=flat&label=&message=Homepage)](https://syncthing.net/) [![Sorgente](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=github&style=flat&label=&message=Sorgente)](https://github.com/linuxserver/docker-syncthing) [![Docker Hub](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=docker&style=flat&label=&message=Docker Hub)](https://hub.docker.com/r/linuxserver/syncthing) [![Docs](https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=readthedocs&style=flat&label=&message=Docs)](https://docs.linuxserver.io/images/docker-syncthing) ![RPI Friendly]() Syncthing è come dropbox ma decentralizzato e privato: - Solo interfaccia web multilingua e compatibile anche con tablet/smartphone - Basato su un [protocollo](https://docs.syncthing.net/specs/bep-v1.html#bep-v1) decentralizzato, crittografato e open source - Esistono [client](https://syncthing.net/downloads/) sia ufficiali che di terze parti ## Struttura file e cartelle ``` /home/ └── docker/ └── syncthing/ ├── config/ ├── data/ ├── .env └── docker-compose.yml ``` - `config/` - cartella dove risiedono i dati che servono a syncthing - `data/` - cartella dove risiedono e vengono condivisi i dati presenti - `.env` - file contenenti le variabili environment per il docker-compose - `docker-compose.yml` - file usato per creare il container **N.B. Tutti i file e le cartelle devono essere creati a mano** ## Esempi Semplice esempio per iniziare ad usare subito il container ### network Con docker ```bash docker network create custom-bridge ``` oppure usando podman ```bash podman network create custom-bridge ``` ### docker-compose `docker-compose.yml` ```yml version: "3.5" services: syncthing: container_name: linuxserver-syncthing image: lscr.io/linuxserver/syncthing security_opt: - no-new-privileges:true networks: - custom-bridge restart: unless-stopped ports: - ${SYNCTHING_WEBUI_PORT:-8384}:8384 - ${SYNCTHING_DSC_PORT:-21027}:21027/udp - ${SYNCTHING_LST_PORT:-22000}:22000/tcp - ${SYNCTHING_LST_PORT:-22000}:22000/udp env_file: .env sysctls: - net.core.rmem_max=2097152 volumes: - ${SYNCTHING_CONFIG:-/home/docker/syncthing/config}:/config - ${SYNCTHING_DATA:-/home/docker/syncthing/data}:/data networks: custom-bridge: name: custom-bridge driver: bridge ``` `.env` ```bash # Generale SYNCTHING_CONFIG=/home/docker/syncthing/config SYNCTHING_DATA=/home/docker/syncthing/data SYNCTHING_WEBUI_PORT=8384 SYNCTHING_DSC_PORT=21027 SYNCTHING_LST_PORT=22000 # Syncthing TZ=Europe/Amsterdam ``` # Reverse proxy Vedi [Todo](#Todo) # Aggiornamento ### Automatico Usando [watchtower](../watchtower) il container si aggiorna automaticamente ### Manuale 1. `docker-compose pull` 2. `docker-compose up -d` 3. `docker image prune` ## Backup e ripristino ### Backup Usate [borg](../borg) per fare i backup giornalieri dell'intera cartella `syncthing` ### Ripristino Per una maggiore spiegazione sui passaggi da fare, controllate [qua](../borg#user-content-controllare-la-cartella-dei-backup) - fermare il container con `docker-compose down` - cancellare l'intera cartella `syncthing` - dal backup copiare la cartella `syncthing` - far ripartire il container con `docker-compose up -d` ## Todo Implementare: - reverse proxy: **[caddy](https://caddyserver.com/)** o **[traefik](https://doc.traefik.io/traefik/)** --- Licenza: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt)