Hva er Syncthing?

Syncthing er et program med åpen kildekode som holder mapper synkronisert mellom enhetene dine, direkte og uten en sentral server. Prosjektet tilbyr et offisielt image, syncthing/syncthing, der webgrensesnittet lytter på port 8384, mens synkroniseringsprotokollen bruker port 22000 for TCP og QUIC. Enheter på samme nettverk finner hverandre med kringkastinger på port 21027.

Verktøybeskrivelse

Dette verktøyet bygger en compose.yaml for Syncthing som følger prosjektets Docker README. Som standard bruker det vertsnettverk, slik README-en anbefaler, fordi Syncthing da kan se enhetene på det lokale nettverket ditt. I denne modusen fjerner verktøyet STGUIADDRESS, slik at GUI-et lytter på adressen fra Syncthing-innstillingene, som som standard er 127.0.0.1:8384. Du kan også velge bridge-modus. Verktøyet publiserer da GUI-porten, synkroniseringsporten for TCP og UDP samt oppdagelsesporten, og viser en advarsel om ulempene ved bridge-modus. Du angir vertsnavnet, brukeren og gruppen med PUID og PGID, en valgfri UMASK og PCAP, datamappen og flere mapper fra verten. Det legges til en helsekontroll som følger GUI-adressen. Alt opprettes i nettleseren din.

Funksjoner

  • Vertsnettverk som anbefalt, eller bridge-modus med portene 8384, 22000/tcp, 22000/udp og 21027/udp publisert
  • GUI-ets lytteadresse i vertsmodus, med en advarsel når det kan nås fra andre maskiner
  • En bind-adresse for GUI-porten i bridge-modus, for eksempel 127.0.0.1
  • PUID, PGID, UMASK og PCAP, samt et vertsnavn for enhetsnavnet
  • En datamappe på verten eller et navngitt Docker-volum, som deklareres for deg
  • Flere mapper som skal synkroniseres, hver med mulighet for skrivebeskyttet tilgang
  • Helsekontrollen fra README-en, justert for GUI-ets port og adresse
  • Alle andre miljøvariabler, kommentarer som forklarer filen, og nedlasting som compose.yaml

Eksempler

Standardinnstillingene gir eksempelet fra 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

  • Lagre resultatet som compose.yaml, og start det med docker compose up -d. Åpne deretter http://127.0.0.1:8384
  • Dockers standardmodus for bridge skjuler de lokale adressene til enhetene dine, slik at de kobler til sakte eller via reléer. Bruk vertsmodus når du kan
  • Imagets standardinnstilling er å lytte på 0.0.0.0:8384. Derfor fjerner vertsmodus STGUIADDRESS, og derfor bør bridge-modus binde den publiserte GUI-porten til 127.0.0.1, med mindre du vil nå den fra andre maskiner
  • Når GUI-et kan nås fra andre maskiner, bør du angi et GUI-passord og aktivere TLS i Syncthing-innstillingene
  • Datamappen og mappene du legger til, må være skrivbare for PUID og PGID
  • Mapper du legger til her, vises i Syncthing under banen i containeren. Velg derfor denne banen når du legger til mappen i GUI-et
  • Synkroniseringsporten forblir 22000, fordi Syncthing forteller andre enheter at de skal koble til denne porten