--- tags: - syncthing - truenas - android - obsidian - sync - how-to created: '2026-05-29' updated: '2026-05-29' status: active --- # Syncthing — TrueNAS ↔ Android **Статус:** ✅ контейнер на TrueNAS работает, Caddy настроен ## Архитектура ``` Android (Syncthing app) │ P2P sync (QUIC/TCP :22000) ▼ TrueNAS (syncthing контейнер) /var/syncthing/obsidian-vault → /mnt/RED_2TB/storage/obsidian │ ├── Obsidian vault (полная копия на TrueNAS) └── Eagle (Mac) — продолжает через git, Syncthing не участвует ``` ## Доступ - **Web UI:** https://syncthing.mallexxx.duckdns.org - **Авторизация:** встроенная GUI Authentication Syncthing (не Caddy basic_auth) - **Локально на TrueNAS:** `http://localhost:8384` ## Контейнер **Compose:** `/mnt/RED_2TB/docker/syncthing/docker-compose.yml` ```yaml services: syncthing: image: syncthing/syncthing:latest container_name: syncthing hostname: syncthing-taiga restart: unless-stopped user: "950:950" environment: - PUID=950 - PGID=950 - TZ=Asia/Novosibirsk volumes: - /mnt/RED_2TB/docker/syncthing/config:/var/syncthing/config - /mnt/RED_2TB/storage/obsidian:/var/syncthing/obsidian-vault ports: - "22000:22000/tcp" - "22000:22000/udp" - "21027:21027/udp" networks: - caddy_default networks: caddy_default: external: true ``` **UID 950** = `truenas_admin` — имеет `FULL_CONTROL` ACL на `/mnt/RED_2TB/storage/obsidian`. ## Caddy В `/mnt/RED_2TB/docker/caddy/Caddyfile`: ``` syncthing.mallexxx.duckdns.org { reverse_proxy syncthing:8384 } ``` Без basic_auth — защита через встроенную GUI Authentication Syncthing. ## Настройка после развёрта 1. Открыть https://syncthing.mallexxx.duckdns.org 2. Settings → GUI → установить **GUI Authentication User** и **GUI Authentication Password** 3. Добавить папку: **Add Folder** - Folder Label: `obsidian-vault` - Folder ID: `obsidian-vault` - Folder Path: `/var/syncthing/obsidian-vault` - File Versioning: по желанию (Trash can / Simple) 4. На телефоне Android: установить Syncthing (из F-Droid или Play Market) - Добавить устройство (сканировать QR код сервера или ввести Device ID) - Добавить ту же папку `obsidian-vault`, указать локальный путь (например `~/Documents/Obsidian`) - Настроить File Versioning (рекомендуется `Trash can`, 30 дней) - Включить синк ## Поведение - **Фон:** Syncthing работает через `Foreground Service` — на Samsung One UI стабильно - **Конфликты:** Автоматически — создаёт `.filename.sync-conflict--.md` (скрытые файлы с точкой) - **Настройка конфликтов:** В настройках папки можно убрать точку — `Store conflict files with version extension (not Hidden)` - **Автоудаление конфликтов:** `File Versioning` → `Trash can` → очищать через N дней ## Обслуживание ```bash # Логи docker logs syncthing --tail 20 # Рестарт docker compose -f /mnt/RED_2TB/docker/syncthing/docker-compose.yml restart # Остановка docker compose -f /mnt/RED_2TB/docker/syncthing/docker-compose.yml down ``` ## Связанные заметки - [[obsidian-android-sync]] — git-based синк (альтернатива через Gitea) - [[obsidian-sync]] — общая архитектура sync Eagle ↔ Taiga ↔ Kraken - [[truenas-infrastructure]] — TrueNAS инфраструктура