Merge remote-tracking branch 'origin/main'

This commit is contained in:
Syncthing
2026-06-01 08:01:15 +00:00
2 changed files with 38 additions and 19 deletions
+17 -18
View File
@@ -1,18 +1,6 @@
---
tags:
- syncthing
- truenas
- android
- obsidian
- sync
- how-to
created: '2026-05-29'
updated: '2026-05-29'
status: active
---
# Syncthing — TrueNAS ↔ Android
**Статус:** ✅ контейнер на TrueNAS работает, Caddy настроен
**Статус:** ✅ контейнер на TrueNAS работает, Caddy настроен, порт 22000 проброшен на OpenWrt, синхронизация работает
## Архитектура
@@ -32,6 +20,9 @@ TrueNAS (syncthing контейнер)
- **Web UI:** https://syncthing.mallexxx.duckdns.org
- **Авторизация:** встроенная GUI Authentication Syncthing (не Caddy basic_auth)
- **Локально на TrueNAS:** `http://localhost:8384`
- **Порт синхронизации (WAN):** TCP+UDP 22000 — проброшен на OpenWrt через DNAT на 192.168.2.197:22000
> ⚠️ Для прямой синхронизации через мобильный интернет необходим проброс порта 22000 на роутере. Без него телефон может соединиться только через relay-сервера.
## Контейнер
@@ -78,6 +69,18 @@ syncthing.mallexxx.duckdns.org {
Без basic_auth — защита через встроенную GUI Authentication Syncthing.
## Настройка на телефоне
1. Установить Syncthing (F-Droid или Play Market)
2. Добавить устройство сервера (сканировать QR код или ввести Device ID)
3. Нажать на устройство → цепочка/ссылка (Addresses) → вписать:
```
tcp://syncthing.mallexxx.duckdns.org:22000, quic://syncthing.mallexxx.duckdns.org:22000
```
4. Добавить папку `obsidian-vault`, указать локальный путь (например `~/Documents/Obsidian`)
5. Настроить File Versioning (рекомендуется `Trash can`, 30 дней)
6. Включить синк
## Настройка после развёрта
1. Открыть https://syncthing.mallexxx.duckdns.org
@@ -87,11 +90,6 @@ syncthing.mallexxx.duckdns.org {
- 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 дней)
- Включить синк
## Поведение
@@ -118,3 +116,4 @@ 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 инфраструктура
- [[truenas-access]] — доступ к TrueNAS и OpenWrt
+21 -1
View File
@@ -20,6 +20,26 @@
ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org
```
## OpenWrt — доступ с TrueNAS
**SSH на роутер:**
```bash
# через docker-контейнер с sshpass
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "команда"'
```
**Проверка правил форвардинга портов:**
```bash
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci show firewall | grep redirect"'
```
**Добавление правила порт-форвардинга:**
```bash
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci add firewall redirect && uci set firewall.@redirect[-1].name=ИМЯ && uci set firewall.@redirect[-1].proto=tcpudp && uci set firewall.@redirect[-1].src=wan && uci set firewall.@redirect[-1].src_dport=ПОРТ && uci set firewall.@redirect[-1].dest=lan && uci set firewall.@redirect[-1].dest_ip=192.168.2.197 && uci set firewall.@redirect[-1].dest_port=ПОРТ && uci set firewall.@redirect[-1].target=DNAT && uci commit firewall && /etc/init.d/firewall reload"'
```
**Пароль root:** `1316261`
## Пул и датасеты
Пул: RED_2TB (ZFS)
@@ -44,4 +64,4 @@ ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org
Типичные жертвы:
- SSH authorized_keys в /home
- Cron jobs, написанные в /etc
- Любые файлы вне /mnt/RED_2TB/
- Любые файлы вне /mnt/RED_2TB/