Files
obsidian-vault/family/how-to/syncthing-truenas-android.md
T
2026-05-29 09:01:25 +00:00

4.0 KiB
Executable File
Raw Blame History

tags, created, updated, status
tags created updated status
syncthing
truenas
android
obsidian
sync
how-to
2026-05-29 2026-05-29 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

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-<date>-<device>.md (скрытые файлы с точкой)
  • Настройка конфликтов: В настройках папки можно убрать точку — Store conflict files with version extension (not Hidden)
  • Автоудаление конфликтов: File VersioningTrash can → очищать через N дней

Обслуживание

# Логи
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

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