MasterpieceDockerCompose/syncthing/README.md

141 lines
4.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Syncthing
<div align="center">
<img src="https://syncthing.net/img/screenshot.png" />
</div>
## 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](<https://img.shields.io/static/v1.svg?color=555555&logoColor=ffffff&logo=raspberrypi&style=flat&label=&message=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)