[2026-09-12] eagle: family/how-to/home-automation.md family/how-to/truenas-access.md family/plans/home-automation-migration-t610.md
This commit is contained in:
@@ -2,8 +2,8 @@
|
|||||||
title: "🏠 Умный дом — автоматика"
|
title: "🏠 Умный дом — автоматика"
|
||||||
aliases: ["Умный дом", "Home automation", "Modbus", "home-automation"]
|
aliases: ["Умный дом", "Home automation", "Modbus", "home-automation"]
|
||||||
tags: ["family", "how-to", "smarthome", "modbus"]
|
tags: ["family", "how-to", "smarthome", "modbus"]
|
||||||
updated: "2026-05-17"
|
updated: "2026-09-12"
|
||||||
related: ["[[family/how-to/router-bishkek-asus]]"]
|
related: ["[[family/how-to/router-bishkek-asus]]", "[[family/plans/home-automation-migration-t610]]"]
|
||||||
---
|
---
|
||||||
# 🏠 Умный дом — автоматика
|
# 🏠 Умный дом — автоматика
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
**Выводы:**
|
**Выводы:**
|
||||||
- TrueNAS ≈ RPi4 по многопотоку (2 ядра против 4), но **вдвое выше в single-thread**. Сервисы HA/Node-RED/БД single-thread-зависимы → здесь TrueNAS выигрывает.
|
- TrueNAS ≈ RPi4 по многопотоку (2 ядра против 4), но **вдвое выше в single-thread**. Сервисы HA/Node-RED/БД single-thread-зависимы → здесь TrueNAS выигрывает.
|
||||||
- **HP t610 — вдвое слабее обоих** (2011, Bobcat-ядро). Единственный плюс — x86-64, официальные образы встают без возни с ARM.
|
- **HP t610 — вдвое слабее обоих** (2011, Bobcat-ядро). Единственный плюс — x86-64, официальные образы встают без возни с ARM.
|
||||||
|
- 📌 **2026-09-12: t610 назначен хостом для переноса домашней автоматизации** (HA OS + zigbee2mqtt/mosquitto/nodered/mbusd/modbus-bridge). План: [[family/plans/home-automation-migration-t610]]. RAM 4 ГБ и HDD признаны достаточными (замер нагрузки не требуется).
|
||||||
- **Jellyfin-транскод не тянет никто** из трёх (iGPU HD2500 у G2020 без современного кодека; RPi4/t610 — нет аппаратного пути).
|
- **Jellyfin-транскод не тянет никто** из трёх (iGPU HD2500 у G2020 без современного кодека; RPi4/t610 — нет аппаратного пути).
|
||||||
|
|
||||||
### Совместимость с DDR/DDR2 из гаража
|
### Совместимость с DDR/DDR2 из гаража
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ related:
|
|||||||
- '[[family/how-to/truenas-infrastructure]]'
|
- '[[family/how-to/truenas-infrastructure]]'
|
||||||
- '[[family/how-to/zont-modbus-bridge-udev-race-protection]]'
|
- '[[family/how-to/zont-modbus-bridge-udev-race-protection]]'
|
||||||
- '[[family/how-to/truenas-rclone-backup]]'
|
- '[[family/how-to/truenas-rclone-backup]]'
|
||||||
|
- '[[family/how-to/gitea-config]]'
|
||||||
|
- '[[family/how-to/truenas-access]]'
|
||||||
---
|
---
|
||||||
# Перенос домашней автоматизации на HP t610
|
# Перенос домашней автоматизации на HP t610
|
||||||
|
|
||||||
@@ -34,7 +36,7 @@ related:
|
|||||||
| Node-RED | docker-контейнер | логика автоматизаций |
|
| Node-RED | docker-контейнер | логика автоматизаций |
|
||||||
| mbusd | docker-контейнер | RS-485 → TCP :502 (шина вентиляции AT2) |
|
| mbusd | docker-контейнер | RS-485 → TCP :502 (шина вентиляции AT2) |
|
||||||
| modbus-bridge | docker-контейнер (локальная сборка) | снифф 485-датчиков + виртуальные slaves для ZONT |
|
| modbus-bridge | docker-контейнер (локальная сборка) | снифф 485-датчиков + виртуальные slaves для ZONT |
|
||||||
| **Камера** | docker-контейнер (уточнить какой) | см. §8 — на TrueNAS НЕ найдена |
|
| **Камера** | docker-контейнер | см. §8 — разобраться отдельно |
|
||||||
| udev-скрипт tty-алиасов | нативный udev + systemd | обязателен для стабильного старта mbusd/modbus-bridge |
|
| udev-скрипт tty-алиасов | нативный udev + systemd | обязателен для стабильного старта mbusd/modbus-bridge |
|
||||||
|
|
||||||
**Остаётся на TrueNAS:** immich, media-стек (jellyfin/transmission/radarr/sonarr/prowlarr), caddy, gitea, filebrowser, webdav, syncthing, rclone, cups, portainer, hermes-taiga, xray-*.
|
**Остаётся на TrueNAS:** immich, media-стек (jellyfin/transmission/radarr/sonarr/prowlarr), caddy, gitea, filebrowser, webdav, syncthing, rclone, cups, portainer, hermes-taiga, xray-*.
|
||||||
@@ -44,15 +46,15 @@ related:
|
|||||||
| Параметр | Значение | Вывод |
|
| Параметр | Значение | Вывод |
|
||||||
|----------|----------|-------|
|
|----------|----------|-------|
|
||||||
| CPU | AMD T56N, 2 ядра @ 1.65 ГГц (Bobcat, 2011) | PassMark ~850, single-thread ~450 — **вдвое слабее TrueNAS (G2020)** |
|
| CPU | AMD T56N, 2 ядра @ 1.65 ГГц (Bobcat, 2011) | PassMark ~850, single-thread ~450 — **вдвое слабее TrueNAS (G2020)** |
|
||||||
| RAM | 4 ГБ DDR3-1600 SODIMM (штатно), **до 16 ГБ** (2 слота) | ⚠️ узкое место. HA OS + 6 контейнеров на 4 ГБ — впритык |
|
| RAM | 4 ГБ DDR3-1600 SODIMM | ✅ за глаза для HA OS + контейнеров (с HA.OS+5 контейнеров ~1.5–2 ГБ реально) |
|
||||||
| USB | **2× USB 3.0** + 4× USB 2.0 | ✅ хватает: Zigbee + 2× CH340 |
|
| USB | **2× USB 3.0** + 4× USB 2.0 | ✅ хватает: Zigbee + 2× CH340 |
|
||||||
| Сеть | Gigabit (Broadcom BCM57781) | ок |
|
| Сеть | Gigabit (Broadcom BCM57781) | ок |
|
||||||
| COM | 1× RS-232 | резерв (если перейдём на нативный mbusd) |
|
| COM | 1× RS-232 | резерв (если перейдём на нативный mbusd) |
|
||||||
| Диск | DOM в SATA-разъёме + 2-й SATA | ⚠️ если DOM 1–2 ГБ — **мало для HA OS**, нужен SSD/USB-диск |
|
| Диск | **HDD** (переносим с TrueNAS) | ✅ места достаточно |
|
||||||
| БП | 19.5V 3.3A, штекер 7.4×5.0 мм | нужен родной БП |
|
| БП | 19.5V 3.3A, штекер 7.4×5.0 мм | нужен родной БП |
|
||||||
| Потребление | ~12 Вт idle, ~20 Вт под нагрузкой | ✅ тихий, дёшево 24/7 |
|
| Потребление | ~12 Вт idle, ~20 Вт под нагрузкой | ✅ тихий, дёшево 24/7 |
|
||||||
|
|
||||||
**⚠️ Риск RAM.** HA OS требует ~2 ГБ минимум. На 4 ГБ: HA OS (2 ГБ) + z2m (0.15) + mosquitto (0.05) + node-red (0.25) + mbusd (0.02) + modbus-bridge (0.1) + камера (0.3–1) = ~3–4 ГБ. **Работать будет, но без запаса.** Если в t610 есть 2 слота и планки 2+2 — рекомендую поставить 8 ГБ (2×4) перед переносом. Проверить фактические планки и объём DOM — шаг 1.
|
> 📌 Диск — HDD (есть в наличии), отдельно проверять/апгрейдить не нужно. RAM 4 ГБ достаточно.
|
||||||
|
|
||||||
## 2. Целевая архитектура
|
## 2. Целевая архитектура
|
||||||
|
|
||||||
@@ -109,19 +111,7 @@ related:
|
|||||||
|
|
||||||
> ⚠️ Общий принцип: **ничего не удаляем на TrueNAS, пока t610 не заработает полностью.** Отключение на TrueNAS — отдельный финальный этап (§7).
|
> ⚠️ Общий принцип: **ничего не удаляем на TrueNAS, пока t610 не заработает полностью.** Отключение на TrueNAS — отдельный финальный этап (§7).
|
||||||
|
|
||||||
### Шаг 1. Инвентаризация железа t610 (перед всем)
|
### Шаг 1. Установка HA OS на t610
|
||||||
```bash
|
|
||||||
# На t610 (после загрузки в Live-USB или уже установленную ОС):
|
|
||||||
lscpu | grep -iE "model name|^CPU\(s\)|MHz"
|
|
||||||
free -h
|
|
||||||
lsblk -o NAME,SIZE,TYPE,MODEL # какой DOM/SSD, хватит ли места
|
|
||||||
sudo dmidecode -t 17 | grep -E "Size|Locator" # сколько слотов RAM и планки
|
|
||||||
```
|
|
||||||
**Решения по результату:**
|
|
||||||
- RAM < 8 ГБ → решить, ставить ли 2×4 ГБ (рекомендуется)
|
|
||||||
- Диск < 32 ГБ → нужен SSD или USB-диск для HA OS
|
|
||||||
|
|
||||||
### Шаг 2. Установка HA OS на t610
|
|
||||||
**Откуда качать образ:** официальный раздел https://www.home-assistant.io/installation/generic-x86-64/
|
**Откуда качать образ:** официальный раздел https://www.home-assistant.io/installation/generic-x86-64/
|
||||||
- Прямая ссылка на образ (generic x86-64):https://github.com/home-assistant/operating-system/releases
|
- Прямая ссылка на образ (generic x86-64):https://github.com/home-assistant/operating-system/releases
|
||||||
- Файл: `haos_generic-x86-64-<версия>.img.xz` (в разделе **Assets** последнего релиза)
|
- Файл: `haos_generic-x86-64-<версия>.img.xz` (в разделе **Assets** последнего релиза)
|
||||||
@@ -136,7 +126,7 @@ sudo dd if=haos_generic-x86-64-<версия>.img of=/dev/rdiskN bs=4m && sync
|
|||||||
> ⚠️ В HA OS **UEFI**: в BIOS t610 включить UEFI-boot (не Legacy). Если t610 не грузит HA OS — вариант: **HA OS на Proxmox/Debian + qemu**, но это сложнее; сначала пробуем bare-metal.
|
> ⚠️ В HA OS **UEFI**: в BIOS t610 включить UEFI-boot (не Legacy). Если t610 не грузит HA OS — вариант: **HA OS на Proxmox/Debian + qemu**, но это сложнее; сначала пробуем bare-metal.
|
||||||
- После записи → вставить в t610 → загрузиться → HA OS сама расширит раздел.
|
- После записи → вставить в t610 → загрузиться → HA OS сама расширит раздел.
|
||||||
|
|
||||||
### Шаг 3. Первый запуск HA OS, сеть, static IP
|
### Шаг 2. Первый запуск HA OS, сеть, static IP
|
||||||
1. t610 подключить кабелем к GPON-роутеру.
|
1. t610 подключить кабелем к GPON-роутеру.
|
||||||
2. На роутере **назначить static IP (DHCP reservation)** — обязательно, до всего остального:
|
2. На роутере **назначить static IP (DHCP reservation)** — обязательно, до всего остального:
|
||||||
```bash
|
```bash
|
||||||
@@ -152,7 +142,7 @@ uci commit dhcp && /etc/init.d/dnsmasq restart
|
|||||||
3. HA OS Web UI: `http://<IP t610>:8123` → первичная настройка (создать аккаунт).
|
3. HA OS Web UI: `http://<IP t610>:8123` → первичная настройка (создать аккаунт).
|
||||||
> ⚠️ HA OS ставит HA «с нуля» — **конфиги мы переносим вручную** (§5), НЕ через бэкап-снапшот, чтобы не тащить мусор от старой версии долей.
|
> ⚠️ HA OS ставит HA «с нуля» — **конфиги мы переносим вручную** (§5), НЕ через бэкап-снапшот, чтобы не тащить мусор от старой версии долей.
|
||||||
|
|
||||||
### Шаг 4. Установка вспомогательных контейнеров на t610
|
### Шаг 3. Установка вспомогательных контейнеров на t610
|
||||||
HA OS поддерживает **аддоны** (встроенный docker). Два подхода:
|
HA OS поддерживает **аддоны** (встроенный docker). Два подхода:
|
||||||
- **(A) Аддоны HA OS** — Zigbee2MQTT и Mosquitto есть в официальном store. Быстро, но на t610 (4 ГБ) тяжелее и менее гибко.
|
- **(A) Аддоны HA OS** — Zigbee2MQTT и Mosquitto есть в официальном store. Быстро, но на t610 (4 ГБ) тяжелее и менее гибко.
|
||||||
- **(B) Отдельный docker** — как на TrueNAS (портируем `docker-compose.yml` 1:1). Больше контроля, совпадает со старой схемой.
|
- **(B) Отдельный docker** — как на TrueNAS (портируем `docker-compose.yml` 1:1). Больше контроля, совпадает со старой схемой.
|
||||||
@@ -167,7 +157,7 @@ HA OS поддерживает **аддоны** (встроенный docker).
|
|||||||
5. **modbus-bridge** — USB-CH340#1 (шина ZONT), host-network
|
5. **modbus-bridge** — USB-CH340#1 (шина ZONT), host-network
|
||||||
6. **камера** — см. §8
|
6. **камера** — см. §8
|
||||||
|
|
||||||
### Шаг 5. Подключить USB-устройства и настроить udev-алиасы
|
### Шаг 4. Подключить USB-устройства и настроить udev-алиасы
|
||||||
**⚠️ САМЫЙ ОПАСНЫЙ ШАГ — на t610 другая USB-топология.**
|
**⚠️ САМЫЙ ОПАСНЫЙ ШАГ — на t610 другая USB-топология.**
|
||||||
Старые правила `KERNELS=="?-1.6:1.0"` / `"?-1.5:1.0"` **не сработают** — надо пересчитать пути.
|
Старые правила `KERNELS=="?-1.6:1.0"` / `"?-1.5:1.0"` **не сработают** — надо пересчитать пути.
|
||||||
```bash
|
```bash
|
||||||
@@ -187,14 +177,14 @@ SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{seria
|
|||||||
> ⚠️ У дешёвых CH340 **серийники часто отсутствуют/одинаковые** → тогда только по `KERNELS` (физическому порту). Тогда — жёстко зафиксировать, в какой USB-порт какой адаптер вставлен, и подписать порты физически.
|
> ⚠️ У дешёвых CH340 **серийники часто отсутствуют/одинаковые** → тогда только по `KERNELS` (физическому порту). Тогда — жёстко зафиксировать, в какой USB-порт какой адаптер вставлен, и подписать порты физически.
|
||||||
> ⚠️ **Гонка с udev** (та же проблема, что на TrueNAS): docker стартует раньше udev → контейнеры с `devices:` падают. На HA OS решать через `systemd` unit `After=dev-ttyZONT.device` ИЛИ через скрипт ожидания (§ Шаг 6).
|
> ⚠️ **Гонка с udev** (та же проблема, что на TrueNAS): docker стартует раньше udev → контейнеры с `devices:` падают. На HA OS решать через `systemd` unit `After=dev-ttyZONT.device` ИЛИ через скрипт ожидания (§ Шаг 6).
|
||||||
|
|
||||||
### Шаг 6. Перенести конфиги (см. §5) и поднять сервисы
|
### Шаг 5. Перенести конфиги (см. §5) и поднять сервисы
|
||||||
Порядок: скопировать конфиги → `docker compose up -d` по одному → проверить.
|
Порядок: скопировать конфиги → `docker compose up -d` по одному → проверить.
|
||||||
|
|
||||||
### Шаг 7. Проверка работоспособности (чек-лист §6)
|
### Шаг 6. Проверка работоспособности (чек-лист §6)
|
||||||
|
|
||||||
### Шаг 8. Бэкап на TrueNAS + git (§9)
|
### Шаг 7. Бэкап на TrueNAS + git (§9)
|
||||||
|
|
||||||
### Шаг 9. Отключить на TrueNAS (§7) — ТОЛЬКО после успешной проверки
|
### Шаг 8. Отключить на TrueNAS (§7) — ТОЛЬКО после успешной проверки
|
||||||
|
|
||||||
## 5. Что именно копировать (точные пути)
|
## 5. Что именно копировать (точные пути)
|
||||||
|
|
||||||
@@ -344,25 +334,9 @@ docker restart caddy
|
|||||||
> ⚠️ Caddy остаётся на TrueNAS — он терминирует TLS для всех доменов. Меняем только upstream-адреса HA и камеры.
|
> ⚠️ Caddy остаётся на TrueNAS — он терминирует TLS для всех доменов. Меняем только upstream-адреса HA и камеры.
|
||||||
> ⚠️ Редирект GPON-роутера на 8123 тоже переключить на t610.
|
> ⚠️ Редирект GPON-роутера на 8123 тоже переключить на t610.
|
||||||
|
|
||||||
## 8. Камера — ОТКРЫТЫЙ ВОПРОС
|
## 8. Камера — пункт (разобраться позже)
|
||||||
|
|
||||||
**Факт (проверено 2026-09-12):** на TrueNAS камеры **нет** — ни контейнера, ни образа, ни папки в `/mnt/RED_2TB/docker/`, ни в `docker.bak/` (бэкап до пересоздания пула), ни в `storage/`, ни в `backup/`. Есть **только** мёртвая прокси-строка в Caddy (`cam.mallexxx.duckdns.org → 192.168.2.197:8090`), повторяющаяся во всех бэкапах Caddyfile с июля. Порт 8090 на TrueNAS никто не слушает.
|
Контейнер камеры **был на TrueNAS, просто остановлен** (в списке `docker ps -a` не значится — вероятно, удалён при восстановлении после пересоздания пула; в Caddy остался мёртвый upstream `192.168.2.197:8090`). Разобраться отдельно: найти исходный образ/папку, поднять на t610, поправить upstream в Caddy.
|
||||||
|
|
||||||
**Что нужно выяснить у Alex:**
|
|
||||||
1. Модель камеры (RTSP-IP-камера? USB? бренд)
|
|
||||||
2. Где она сейчас физически работает (HTPC / Kraken / Mac / отдельное устройство?)
|
|
||||||
3. Что нужно: только просмотр (MJPEG/HLS) или запись/детекция?
|
|
||||||
|
|
||||||
**Кандидаты на t610 (по выбору):**
|
|
||||||
|
|
||||||
| Инструмент | Для чего | Образ |
|
|
||||||
|------------|----------|-------|
|
|
||||||
| **go2rtc** | RTSP → WebRTC/HLS/MJPEG, лёгкий | `alexxit/go2rtc` или `roflcoopter/...` |
|
|
||||||
| **motionEye** | просмотр + запись по детекции движения | `ccrisan/motioneye` |
|
|
||||||
| **mediamtx** | RTSP/WebRTC-сервер | `bluenviron/mediamtx` |
|
|
||||||
| **Frigate** | детекция объектов (AI) | ⚠️ **не для t610** — нужен Coral/GPU, съест всю RAM |
|
|
||||||
|
|
||||||
**Рекомендация:** если нужен просто просмотр → **go2rtc** (легчайший, идеален для слабого t610). Если запись по движению → motionEye (но следить за RAM).
|
|
||||||
|
|
||||||
## 9. Бэкап конфигов на TrueNAS + git
|
## 9. Бэкап конфигов на TrueNAS + git
|
||||||
|
|
||||||
@@ -415,7 +389,6 @@ git push origin main
|
|||||||
|
|
||||||
| Риск | Вероятность | Митигация |
|
| Риск | Вероятность | Митигация |
|
||||||
|------|-------------|-----------|
|
|------|-------------|-----------|
|
||||||
| **RAM 4 ГБ мало** | высокая | поставить 8 ГБ до переноса; следить за `free -h` |
|
|
||||||
| **udev-гонка** (docker стартует раньше tty) | высокая | скрипт ожидания + `After=dev-tty*.device` |
|
| **udev-гонка** (docker стартует раньше tty) | высокая | скрипт ожидания + `After=dev-tty*.device` |
|
||||||
| **USB-пути t610 ≠ TrueNAS** | 100% | пересчитать udev по серийнику/физическому порту |
|
| **USB-пути t610 ≠ TrueNAS** | 100% | пересчитать udev по серийнику/физическому порту |
|
||||||
| **Zigbee отвалится** | средняя | `database.db` + `network_key` 1:1; переспаривание не нужно при верном переносе |
|
| **Zigbee отвалится** | средняя | `database.db` + `network_key` 1:1; переспаривание не нужно при верном переносе |
|
||||||
@@ -423,28 +396,25 @@ git push origin main
|
|||||||
| **Хардкод `192.168.2.197` в HA** | высокая | заменить на `127.0.0.1` (mbusd рядом) |
|
| **Хардкод `192.168.2.197` в HA** | высокая | заменить на `127.0.0.1` (mbusd рядом) |
|
||||||
| **GPON-редирект** | высокая | переключить на t610:8123; проверить снаружи |
|
| **GPON-редирект** | высокая | переключить на t610:8123; проверить снаружи |
|
||||||
| **HA OS не загрузится (Legacy/UEFI)** | средняя | включить UEFI в BIOS; fallback — HA OS в VM |
|
| **HA OS не загрузится (Legacy/UEFI)** | средняя | включить UEFI в BIOS; fallback — HA OS в VM |
|
||||||
| **Диск DOM мал** | средняя | проверить `lsblk`, при малом — SSD |
|
| **Камера неизвестна** | — | §8, разобраться позже |
|
||||||
| **Камера неизвестна** | — | §8, уточнить у Alex |
|
| **Слабый CPU (T56N)** | низкая | HA OS + 6 контейнеров — ок; камера с AI-детекцией — нет |
|
||||||
| **Слабый CPU (T56N)** | средняя | 6 контейнеров + HA OS — ок; камера с детекцией — нет |
|
|
||||||
|
|
||||||
## 11. План выполнения (этапы)
|
## 11. План выполнения (этапы)
|
||||||
|
|
||||||
| Этап | Содержание | Требует |
|
| Этап | Содержание | Требует |
|
||||||
|------|-----------|---------|
|
|------|-----------|---------|
|
||||||
| **0** | Инвентаризация t610 (RAM/диск/USB) | физ. доступ |
|
| **0** | Установка HA OS на t610 + static IP на роутере | физ. доступ |
|
||||||
| **1** | (если нужно) апгрейд RAM до 8 ГБ, диск | покупка |
|
| **1** | Docker + 5 контейнеров (mosquitto, z2m, nodered, mbusd, modbus-bridge) | ✅ |
|
||||||
| **2** | Установка HA OS + static IP на роутере | ✅ |
|
| **2** | udev-алиасы + скрипт старта | ✅ |
|
||||||
| **3** | Docker + 5 контейнеров (mosquitto, z2m, nodered, mbusd, modbus-bridge) | ✅ |
|
| **3** | Перенос конфигов всех сервисов | ✅ |
|
||||||
| **4** | udev-алиасы + скрипт старта | ✅ |
|
| **4** | Перенос HA config (`.storage` + yaml + www) | ✅ |
|
||||||
| **5** | Перенос конфигов всех сервисов | ✅ |
|
| **5** | Правка хардкод-адресов (modbus host, HA_TOKEN) | ✅ |
|
||||||
| **6** | Перенос HA config (`.storage` + yaml + www) | ✅ |
|
| **6** | ZONT MQTT → на t610 | ✅ (доступ к ZONT) |
|
||||||
| **7** | Правка хардкод-адресов (modbus host, HA_TOKEN) | ✅ |
|
| **7** | Камера | ❓ (позже) |
|
||||||
| **8** | ZONT MQTT → на t610 | ✅ (доступ к ZONT) |
|
| **8** | Полная проверка (§6) | ✅ |
|
||||||
| **9** | Камера (после выяснения §8) | ❓ |
|
| **9** | Бэкап: rsync на TrueNAS + git в Gitea | ✅ |
|
||||||
| **10** | Полная проверка (§6) | ✅ |
|
| **10** | GPON-редиректы + Caddy → t610 | ✅ |
|
||||||
| **11** | Бэкап: rsync на TrueNAS + git в Gitea | ✅ |
|
| **11** | Отключение на TrueNAS (§7) | ✅ после проверки |
|
||||||
| **12** | GPON-редиректы + Caddy → t610 | ✅ |
|
|
||||||
| **13** | Отключение на TrueNAS (§7) | ✅ после проверки |
|
|
||||||
|
|
||||||
## 12. Данные, собранные при подготовке плана (2026-09-12)
|
## 12. Данные, собранные при подготовке плана (2026-09-12)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user