Gerador de Docker Compose para Syncthing
Gere um compose.yaml para o Syncthing. Escolha a rede do host ou bridge, o endereço da interface gráfica, o usuário e o grupo, o armazenamento e as pastas adicionais, e obtenha um arquivo com uma verificação de integridade correspondente.
Entrada
Saída
- A pasta de dados e as pastas adicionadas devem ter permissão de escrita para o usuário e o grupo acima.
Leia-me
O que é o Syncthing?
O Syncthing é um programa de código aberto que mantém as pastas sincronizadas entre seus dispositivos, diretamente e sem um servidor central. O projeto fornece uma imagem oficial, syncthing/syncthing, cuja GUI web escuta na porta 8384 e cujo protocolo de sincronização usa a porta 22000 para TCP e QUIC. Os dispositivos na mesma rede encontram uns aos outros por meio de broadcasts na porta 21027.
Descrição da ferramenta
Esta ferramenta cria um arquivo compose.yaml para o Syncthing que segue o README do projeto para Docker. Por padrão, ela usa a rede do host, conforme recomendado pelo README, pois assim o Syncthing consegue detectar os dispositivos na sua rede local. Nesse modo, a ferramenta remove STGUIADDRESS, fazendo com que a GUI escute no endereço definido nas configurações do Syncthing, que por padrão é 127.0.0.1:8384. Você também pode escolher o modo bridge. Nesse caso, a ferramenta publica a porta da GUI, a porta de sincronização para TCP e UDP e a porta de descoberta, além de alertar sobre os custos do modo bridge. Você define o hostname, o usuário e o grupo com PUID e PGID, um UMASK e um PCAP opcionais, a pasta de dados e outras pastas do host. É adicionada uma verificação de integridade que segue o endereço da GUI. Tudo é criado no seu navegador.
Recursos
- Rede do host, conforme recomendado, ou modo bridge com as portas 8384, 22000/tcp, 22000/udp e 21027/udp publicadas
- O endereço de escuta da GUI no modo host, com um aviso quando ela puder ser acessada de outras máquinas
- Um endereço de vinculação para a porta da GUI no modo bridge, como
127.0.0.1 PUID,PGID,UMASKePCAP, além de um hostname para o nome do dispositivo- Uma pasta de dados no host ou um volume Docker nomeado, declarado automaticamente
- Outras pastas para sincronizar, cada uma opcionalmente somente leitura
- A verificação de integridade do README, ajustada à porta e ao endereço da GUI
- Qualquer outra variável de ambiente, comentários que explicam o arquivo e um download como
compose.yaml
Exemplos
As configurações padrão fornecem o exemplo do README do Syncthing para Docker:
services:
syncthing:
image: syncthing/syncthing
container_name: syncthing
hostname: syncthing
network_mode: host
environment:
PUID: "1000"
PGID: "1000"
STGUIADDRESS: ""
volumes:
- ./st-sync:/var/syncthing
healthcheck:
test: curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1
interval: 1m
timeout: 10s
retries: 3
restart: unless-stoppedDicas
- Salve o resultado como
compose.yamle inicie-o comdocker compose up -d. Em seguida, abrahttp://127.0.0.1:8384 - O modo bridge padrão do Docker oculta os endereços locais dos seus dispositivos, fazendo com que eles se conectem lentamente ou por meio de relays. Use o modo host quando possível
- A imagem escuta em
0.0.0.0:8384por padrão. Por isso, o modo host removeSTGUIADDRESSe o modo bridge deve vincular a porta publicada da GUI a127.0.0.1, a menos que você queira acessá-la de outras máquinas - Quando a GUI puder ser acessada de outras máquinas, defina uma senha para a GUI e ative o TLS nas configurações do Syncthing
- A pasta de dados e as pastas adicionadas devem ter permissão de escrita para
PUIDePGID - As pastas adicionadas aqui aparecem no Syncthing no caminho dentro do container; portanto, escolha esse caminho ao adicionar a pasta na GUI
- A porta de sincronização permanece 22000, pois o Syncthing informa aos outros dispositivos que devem se conectar a essa porta