Syncthing Docker Compose-builder
Bouw een compose.yaml voor Syncthing. Kies host- of bridge-netwerken, het GUI-adres, de gebruiker en groep, opslag en extra mappen, en ontvang een bestand met een bijbehorende healthcheck.
Invoer
Uitvoer
- De gegevensmap en de mappen die je toevoegt, moeten beschrijfbaar zijn voor de bovenstaande gebruiker en groep.
Readme
Wat is Syncthing?
Syncthing is een open-sourceprogramma dat mappen rechtstreeks en zonder centrale server gesynchroniseerd houdt tussen je apparaten. Het project biedt een officiële image, syncthing/syncthing, waarvan de webinterface luistert op port 8384 en waarvan het sync-protocol port 22000 gebruikt voor TCP en QUIC. Apparaten op hetzelfde netwerk vinden elkaar via broadcasts op port 21027.
Beschrijving van de tool
Deze tool maakt een compose.yaml voor Syncthing die de Docker README van het project volgt. Standaard wordt host-netwerken gebruikt, zoals de README aanbeveelt, omdat Syncthing dan de apparaten op je lokale netwerk kan zien. In deze modus verwijdert de tool STGUIADDRESS, zodat de GUI luistert op het adres uit de Syncthing-instellingen, standaard 127.0.0.1:8384. Je kunt ook bridge-modus kiezen. De tool publiceert dan de GUI-port, de sync-port voor TCP en UDP en de discovery-port, en waarschuwt voor de gevolgen van bridge-modus. Je stelt de hostnaam, de gebruiker en groep in met PUID en PGID, een optionele UMASK en PCAP, de datamap en meer mappen vanaf de host in. Er wordt een gezondheidscheck toegevoegd die het GUI-adres volgt. Alles wordt in je browser aangemaakt.
Functies
- Host-netwerken zoals aanbevolen, of bridge-modus met de ports 8384, 22000/tcp, 22000/udp en 21027/udp gepubliceerd
- Het luisteradres van de GUI in host-modus, met een waarschuwing wanneer deze vanaf andere machines bereikbaar is
- Een bindadres voor de GUI-port in bridge-modus, zoals
127.0.0.1 PUID,PGID,UMASKenPCAP, plus een hostnaam voor de apparaatnaam- Een datamap op de host of een benoemd Docker-volume, dat voor je wordt gedeclareerd
- Meer mappen om te synchroniseren, elk optioneel alleen-lezen
- De gezondheidscheck uit de README, aangepast aan de port en het adres van de GUI
- Alle andere omgevingsvariabelen, opmerkingen die het bestand uitleggen en een download als
compose.yaml
Voorbeelden
De standaardinstellingen geven het voorbeeld uit de Syncthing Docker README:
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-stoppedTips
- Sla het resultaat op als
compose.yamlen start het metdocker compose up -d. Open daarnahttp://127.0.0.1:8384 - De standaard bridge-modus van Docker verbergt de lokale adressen van je apparaten, waardoor ze langzaam of via relays verbinding maken. Gebruik host-modus wanneer dat mogelijk is
- De image luistert standaard op
0.0.0.0:8384. Daarom verwijdert host-modusSTGUIADDRESSen moet bridge-modus de gepubliceerde GUI-port binden aan127.0.0.1, tenzij je deze vanaf andere machines wilt bereiken - Stel een GUI-wachtwoord in en schakel TLS in via de Syncthing-instellingen wanneer de GUI vanaf andere machines bereikbaar is
- De datamap en de mappen die je toevoegt, moeten schrijfbaar zijn voor
PUIDenPGID - Mappen die je hier toevoegt, verschijnen in Syncthing onder het pad in de container. Kies dat pad daarom wanneer je de map toevoegt in de GUI
- De sync-port blijft 22000, omdat Syncthing andere apparaten vertelt verbinding te maken met die port