[2026-05-29] добавил how-to: syncthing truenas android
This commit is contained in:
@@ -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 инфраструктура
|
||||
Reference in New Issue
Block a user