Syncthing nedir?

Syncthing, klasörleri cihazlarınız arasında doğrudan ve merkezi bir sunucu olmadan senkronize tutan açık kaynaklı bir programdır. Proje, web arayüzü 8384 portunu dinleyen ve senkronizasyon protokolü TCP için 22000, QUIC için ise 22000 portunu kullanan resmi bir syncthing/syncthing imajı sunar. Aynı ağdaki cihazlar, 21027 portundaki yayınlar aracılığıyla birbirlerini bulur.

Araç açıklaması

Bu araç, projenin Docker README dosyasını temel alan bir Syncthing compose.yaml dosyası oluşturur. Varsayılan olarak, Syncthing'in yerel ağınızdaki cihazları görebilmesini sağladığı için README dosyasının önerdiği host ağını kullanır. Bu modda araç, GUI'nin Syncthing ayarlarındaki adresi (varsayılan olarak 127.0.0.1:8384) dinlemesi için STGUIADDRESS değerini kaldırır. Ayrıca bridge modunu da seçebilirsiniz. Bu durumda araç GUI portunu, TCP ve UDP için senkronizasyon portunu ve keşif portunu yayınlar ve bridge modunun getirdiği kısıtları belirtir. Ana bilgisayar adını, PUID ve PGID ile kullanıcı ve grubu, isteğe bağlı UMASK ve PCAP değerlerini, veri klasörünü ve ana bilgisayardan kullanılacak diğer klasörleri belirlersiniz. GUI adresini temel alan bir sağlık denetimi eklenir. Her şey tarayıcınızda oluşturulur.

Özellikler

  • Önerilen host ağı veya 8384, 22000/tcp, 22000/udp ve 21027/udp portlarının yayınlandığı bridge modu
  • Host modunda GUI dinleme adresi ve adresin diğer makinelerden erişilebilir olması durumunda gösterilen uyarı
  • Bridge modunda GUI portu için 127.0.0.1 gibi bir bağlama adresi
  • PUID, PGID, UMASK ve PCAP değerleri ile cihaz adı için bir ana bilgisayar adı
  • Ana bilgisayarda bir veri klasörü veya sizin için tanımlanan adlandırılmış bir Docker volume'ü
  • Her biri isteğe bağlı olarak salt okunur yapılabilen, senkronize edilecek diğer klasörler
  • README dosyasındaki, GUI'nin portuna ve adresine göre uyarlanmış sağlık denetimi
  • Diğer ortam değişkenleri, dosyayı açıklayan yorumlar ve compose.yaml olarak indirme seçeneği

Örnekler

Varsayılan ayarlar, Syncthing Docker README dosyasındaki örneği oluşturur:

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

İpuçları

  • Sonucu compose.yaml olarak kaydedin ve docker compose up -d komutuyla başlatın. Ardından http://127.0.0.1:8384 adresini açın
  • Docker'ın varsayılan bridge modu, cihazlarınızın yerel adreslerini gizler; bu nedenle cihazlar yavaş bağlanır veya relay'ler üzerinden bağlantı kurar. Mümkün olduğunda host modunu kullanın
  • İmaj varsayılan olarak 0.0.0.0:8384 adresini dinler. Host modunun STGUIADDRESS değerini kaldırmasının ve diğer makinelerden erişmek istemediğiniz sürece bridge modunda yayınlanan GUI portunun 127.0.0.1 adresine bağlanması gerekmesinin nedeni budur
  • GUI'ye diğer makinelerden erişilebiliyorsa Syncthing ayarlarında bir GUI parolası belirleyin ve TLS'yi etkinleştirin
  • Veri klasörü ve buraya eklediğiniz klasörler PUID ve PGID tarafından yazılabilir olmalıdır
  • Buraya eklediğiniz klasörler Syncthing'de container içindeki yol altında görünür; bu nedenle GUI'de klasörü eklerken bu yolu seçin
  • Senkronizasyon portu 22000 olarak kalır; çünkü Syncthing diğer cihazlara bu porta bağlanmalarını bildirir