Files
obsidian-vault/family/documents/vault-sync/2026-08-31-syncthing-truenas-incident.md
T

4.1 KiB
Raw Blame History

tags, created, status
tags created status
syncthing
truenas
debug
incident
2026-08-31 diagnosed

Incident: Syncthing не синкается с TrueNAS (после restore)

Дата диагностики: 2026-08-31 Симптом: "Syncthing не конектится к TrueNAS; TrueNAS не в нашей сети, доступен через внешний адрес". В UI папка не синкается / процентов нет.

Краткий вывод

Соединение НЕ сломано. И контейнер на TrueNAS, и телефон успешно поднимают TCP/TCP+TLS через внешний адрес 90.189.160.148:22000 (syncthing.mallexxx.duckdns.org). Стоит файловая синхронизация из-за сломанных прав на /mnt/RED_2TB/storage/obsidian после восстановления из бэкапа.

Диагностика (оба конца)

Уровень Status Деталь
TCP 22000 внешний (syncthing.mallexxx.duckdns.org) Connection succeeded
SSH TrueNAS (mallexxx.duckdns.org) IP 192.168.2.197 (DNAT жив)
Контейнер syncthing Up 6 days (healthy), порты 22000 tcp/udp + 21027
Телефон↔TrueNAS соединение connected: true (REST API, в обе стороны)
Файловая синхронизация error папка error: stat .stfolder: permission denied

Плюс в логе телефона (последние записи 12:41–13:55):

WRN Failed to sync (path=family/how-to/truenas-access.md error="syncing: finishing: pull: no such file")
WRN Failed to sync (path=family/how-to/truenas-sata-ports-and-zfs-pools.md ...)
INF Folder failed to sync, will be retried (wait=1m → 32m → 1h4m)

Корень

После restore /mnt/RED_2TB/storage/* стал принадлежать uid 921 = transmission с правами ----------(0000)/d---------, вместо truenas_admin (950).

d---------  7 921 921 ...  /mnt/RED_2TB/storage/obsidian
getent passwd 921 → transmission:x:921:921

Контейнер syncthing работает под uid 950 и должен иметь FULL_CONTROL на папку. Из-за нулевых прав не читает даже .stfolder → папка в error → телефон не может вытянуть зависшие файлы (truenas-access.md, truenas-sata-ports-and-zfs-pools.md) → вся папка стоит.

⚠️ Масштаб: судя по ls -la /mnt/RED_2TB/storage, та же проблема может касаться Cartoons, Downloads, Movies, Music, git, shared, series и др. — всё 921/0000. Проверить другие сервисы.

План фикса (НЕ выполнен — требует подтверждения + бэкап ACL)

  1. Снять бэкап текущих ACL: getfacl -R /mnt/RED_2TB/storage/obsidian > /mnt/RED_2TB/backup/_acl_obsidian_$(date +%F).facl
  2. Вернуть владельца и права:
    sudo chown -R 950:950 /mnt/RED_2TB/storage/obsidian
    sudo chmod -R u+rwX,g+rwX /mnt/RED_2TB/storage/obsidian
    
  3. Рестарт контейнера: docker compose -f /mnt/RED_2TB/docker/syncthing/docker-compose.yml restart
  4. Дождаться Completed scan, проверить статус папки через REST.

Затрагиваемые файлы (лог телефона)

  • family/how-to/truenas-access.md
  • family/how-to/truenas-sata-ports-and-zfs-pools.md

Техническая карта Syncthing

  • Устройства sync: XJRJQB2-... = контейнер TrueNAS (myID), C6DYBCZ-... = телефон SM-S931B (v2.1.3)
  • Folder ID: k5vyy-gzdgj, label Obsidian Vault, path /var/syncthing/obsidian-vault
  • GUI на TrueNAS: 'syncthing-admin', apikey в config.xml

Связанные заметки