diff --git a/hosts/heather/syncthing.nix b/hosts/heather/syncthing.nix index 3444413..f80448a 100644 --- a/hosts/heather/syncthing.nix +++ b/hosts/heather/syncthing.nix @@ -4,13 +4,12 @@ # # - services.syncthing: sync daemon. dataDir = /srv/syncthing (синкается на # устройства poppy/телефон). configDir = /var/lib/syncthing (state syncthing). -# - relayOptions.enable: strelaysrv, public relay на :22067 (relay) / :22070 -# (status). Для устройств за NAT. +# - relayOptions.enable: strelaysrv, PRIVATE relay на :22067 (relay) / +# :22070 (status). Только для своих устройств за NAT (pools="" — не +# публикуется в public pool, чужой трафик не возит). # # GUI: 127.0.0.1:8384 (только localhost), Caddy проксирует на sync.iscg.dev -# с basicauth сверху (см. caddy.nix). Пароль GUI включить отдельно (syncthing -# сам требует при прослушивании не-localhost, но на localhost опционален — -# Caddy даёт внешний слой auth). +# с basicauth сверху (см. caddy.nix). # # /srv/syncthing/herbarium/ — silverbullet space (bind mount в контейнер, # см. arion-compose.nix). syncthing sync'ает весь /srv/syncthing включая @@ -43,16 +42,20 @@ overrideFolders = false; }; - # strelaysrv: public relay для syncthing-устройств за NAT. - # Порты 22067 (relay) и 22070 (status). + # strelaysrv: PRIVATE relay для своих syncthing-устройств за NAT. + # Порты 22067 (relay) и 22070 (status). НЕ в public pool — чужие устройства + # не подключаются, трафик не возим. Свои устройства используют этот relay + # только если прописан в их config (relay://heather:22067). # NixOS-модуля syncthing не управляет strelaysrv — поднимаем вручную через # systemd, пакет syncthing-relay (strelaysrv binary). systemd.services.syncthing-relay = { - description = "Syncthing Relay Server (strelaysrv)"; + description = "Syncthing Relay Server (strelaysrv, private)"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${pkgs.syncthing-relay}/bin/strelaysrv"; + # pools="" — НЕ регистрироваться в public relay pool. + # debug-relays -v для отладки. + ExecStart = "${pkgs.syncthing-relay}/bin/strelaysrv -pools=\"\""; Restart = "on-failure"; User = "mikl"; Group = "users";