Vad är Syncthing?

Syncthing är ett program med öppen källkod som håller mappar synkroniserade mellan dina enheter, direkt och utan en central server. Projektet tillhandahåller en officiell image, syncthing/syncthing, vars webb-GUI lyssnar på port 8384 och vars synkroniseringsprotokoll använder port 22000 för TCP och QUIC. Enheter i samma nätverk hittar varandra genom broadcasts på port 21027.

Verktygsbeskrivning

Det här verktyget skapar en compose.yaml för Syncthing som följer projektets Docker-README. Som standard använder det värdnätverk, vilket README-filen rekommenderar, eftersom Syncthing då kan se enheterna i ditt lokala nätverk. I det här läget tar verktyget bort STGUIADDRESS, så att GUI:t lyssnar på adressen från Syncthing-inställningarna, vilket som standard är 127.0.0.1:8384. Du kan också välja bryggläge. Verktyget publicerar då GUI-porten, synkroniseringsporten för TCP och UDP samt discovery-porten, och informerar om vad bryggläget innebär. Du anger värdnamnet, användaren och gruppen med PUID och PGID, en valfri UMASK och PCAP, datamappen och fler mappar från värden. En hälsokontroll som följer GUI-adressen läggs till. Allt skapas i din webbläsare.

Funktioner

  • Värdnätverk enligt rekommendationen, eller bryggläge med portarna 8384, 22000/tcp, 22000/udp och 21027/udp publicerade
  • GUI:ts lyssningsadress i värdläge, med en varning när det kan nås från andra datorer
  • En bind-adress för GUI-porten i bryggläge, till exempel 127.0.0.1
  • PUID, PGID, UMASK och PCAP, samt ett värdnamn för enhetens namn
  • En datamapp på värden eller en namngiven Docker-volym, som deklareras åt dig
  • Fler mappar att synkronisera, var och en valfritt skrivskyddad
  • Hälsokontrollen från README-filen, anpassad till GUI:ts port och adress
  • Alla andra miljövariabler, kommentarer som förklarar filen och en nedladdning som compose.yaml

Exempel

Standardinställningarna ger exemplet från Syncthings 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-stopped

Tips

  • Spara resultatet som compose.yaml och starta det med docker compose up -d. Öppna sedan http://127.0.0.1:8384
  • Dockers standardläge för bryggnätverk döljer enheternas lokala adresser, så anslutningen sker långsamt eller via reläer. Använd värdläge när du kan
  • Imagen lyssnar som standard på 0.0.0.0:8384. Därför tar värdläget bort STGUIADDRESS, och därför bör bryggläget binda den publicerade GUI-porten till 127.0.0.1 om du inte vill nå den från andra datorer
  • När GUI:t kan nås från andra datorer anger du ett GUI-lösenord och aktiverar TLS i Syncthing-inställningarna
  • Datamappen och mapparna du lägger till måste vara skrivbara för PUID och PGID
  • Mapparna du lägger till här visas i Syncthing under sökvägen i containern, så välj den sökvägen när du lägger till mappen i GUI:t
  • Synkroniseringsporten förblir 22000, eftersom Syncthing meddelar andra enheter att ansluta till den porten