[2026-05-29] добавил how-to: syncthing truenas android

This commit is contained in:
Alexey Martemyanov
2026-05-29 12:44:42 +06:00
parent 9e6d2a9006
commit 3a051b9234
+120
View File
@@ -0,0 +1,120 @@
---
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-<date>-<device>.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 инфраструктура