Kreator Docker Compose dla Syncthing
Utwórz plik compose.yaml dla Syncthing. Wybierz sieć hosta lub bridge, adres interfejsu GUI, użytkownika i grupę, lokalizację danych oraz dodatkowe foldery, a otrzymasz plik z pasującym sprawdzaniem stanu.
Wejście
Wyjście
- Folder danych i dodane foldery muszą być zapisywalne przez powyższego użytkownika i grupę.
Instrukcja
Czym jest Syncthing?
Syncthing to program open source, który synchronizuje foldery między Twoimi urządzeniami bezpośrednio i bez centralnego serwera. Projekt udostępnia oficjalny obraz syncthing/syncthing, którego webowy GUI nasłuchuje na porcie 8384, a protokół synchronizacji używa portu 22000 dla TCP i QUIC. Urządzenia w tej samej sieci odnajdują się za pomocą rozgłoszeń na porcie 21027.
Opis narzędzia
To narzędzie tworzy plik compose.yaml dla Syncthing zgodnie z plikiem README projektu dotyczącym Dockera. Domyślnie używa sieci hosta, co jest zalecane w README, ponieważ dzięki temu Syncthing może wykrywać urządzenia w sieci lokalnej. W tym trybie narzędzie usuwa zmienną STGUIADDRESS, więc GUI nasłuchuje na adresie określonym w ustawieniach Syncthing, czyli domyślnie 127.0.0.1:8384. Możesz także wybrać tryb bridge. W takim przypadku narzędzie publikuje port GUI, port synchronizacji dla TCP i UDP oraz port wykrywania, a także ostrzega o kosztach korzystania z trybu bridge. Ustawiasz nazwę hosta, użytkownika i grupę za pomocą PUID i PGID, opcjonalne wartości UMASK i PCAP, folder danych oraz dodatkowe foldery z hosta. Dodawane jest sprawdzanie stanu zgodne z adresem GUI. Wszystko jest tworzone w przeglądarce.
Funkcje
- Sieć hosta zgodnie z zaleceniami lub tryb bridge z opublikowanymi portami 8384, 22000/tcp, 22000/udp i 21027/udp
- Adres nasłuchiwania GUI w trybie hosta wraz z ostrzeżeniem, gdy GUI może być dostępne z innych maszyn
- Adres przypisania dla portu GUI w trybie bridge, na przykład
127.0.0.1 PUID,PGID,UMASKiPCAPoraz nazwa hosta używana jako nazwa urządzenia- Folder danych na hoście lub nazwany wolumin Docker, który zostanie zadeklarowany automatycznie
- Dodatkowe foldery do synchronizacji, z opcjonalnym ustawieniem tylko do odczytu dla każdego z nich
- Sprawdzanie stanu z README, dostosowane do portu i adresu GUI
- Dowolne inne zmienne środowiskowe, komentarze wyjaśniające zawartość pliku oraz pobieranie pliku jako
compose.yaml
Przykłady
Ustawienia domyślne tworzą przykład z README Syncthing dla Dockera:
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-stoppedWskazówki
- Zapisz wynik jako
compose.yamli uruchom go poleceniemdocker compose up -d. Następnie otwórzhttp://127.0.0.1:8384 - Domyślny tryb bridge Dockera ukrywa lokalne adresy Twoich urządzeń, więc łączą się one wolno lub za pośrednictwem przekaźników. Jeśli możesz, używaj trybu hosta
- Obraz domyślnie nasłuchuje na
0.0.0.0:8384. Dlatego w trybie hosta zmiennaSTGUIADDRESSjest usuwana, a w trybie bridge opublikowany port GUI powinien być przypisany do127.0.0.1, chyba że chcesz uzyskiwać do niego dostęp z innych maszyn - Jeśli GUI może być dostępne z innych maszyn, ustaw hasło GUI i włącz TLS w ustawieniach Syncthing
- Folder danych i dodane foldery muszą mieć uprawnienia zapisu dla
PUIDiPGID - Dodane tutaj foldery pojawią się w Syncthing pod ścieżką w kontenerze, więc wybierz tę ścieżkę podczas dodawania folderu w GUI
- Port synchronizacji pozostaje ustawiony na 22000, ponieważ Syncthing informuje inne urządzenia, aby łączyły się z tym portem