# TrueNAS — rclone backup ## Контейнер - Image: `rclone/rclone:latest` - Имя: `rclone` - Запуск: cron внутри контейнера (`crond -f`) ## Маппинги | Host | Контейнер | |------|-----------| | `/mnt/RED_2TB/docker/rclone/config` | `/config/rclone` | | `/mnt/RED_2TB` | `/data` | ## Расписание ``` 0 3 * * 0 # каждое воскресенье в 03:00 ``` Скрипт: `/config/rclone/backup.sh` ## Что бэкапится | Метка | Источник (host) | Назначение | Шифрование | |-------|-----------------|------------|------------| | Photos | `/mnt/RED_2TB/Photos` | `mailru:Photos/Photos` | нет | | old-bu | `/mnt/RED_2TB/old-bu` | `mailru:Photos/old-bu` | нет | | immich | `/mnt/RED_2TB/immich-photos-upload` | `mailru:Photos/immich` | нет | | docker | `/mnt/RED_2TB/docker` | `mailru-crypt:` | ✅ да | | backup | `/mnt/RED_2TB/backup` | `mailru-crypt:` | ✅ да | | **t610** | **`/mnt/RED_2TB/backup/t610`** — входит в `backup` автоматически | `mailru-crypt:` | ✅ да | > 📌 **Бэкап конфигов t610** (HA OS) кладётся в `/mnt/RED_2TB/backup/t610/` (ZFS-датасет, владелец `nas:nas`). Так как он лежит **внутри** `/mnt/RED_2TB/backup`, он уезжает в Mail.ru **автоматически** — правок в `backup.sh` не требуется. Схема целиком — `[[family/plans/t610-backup-to-truenas]]`. > 📌 **Следствие (2026-09-14): всё, положенное в `/mnt/RED_2TB/backup/*`, уезжает в Mail.ru автоматически** — правка `backup.sh` не нужна. Именно поэтому бэкап конфигов t610 кладётся в `/mnt/RED_2TB/backup/t610/` (датасет `nas:nas` 770, создан 2026-09-14) — см. [[family/plans/t610-backup-to-truenas]]. > 📌 Крон запускается **внутри контейнера rclone от root**, поэтому права `nas:nas 770` чтению не мешают. ## Remotes - **mailru** — WebDAV, Mail.ru Cloud (`webdav.cloud.mail.ru`), user: `mallexxx@mail.ru` - **mailru-crypt** — rclone crypt поверх `mailru:backup`, шифрование имён файлов и директорий (`standard`) ## Добавить что-то в бэкап Шифрованное → положить в `/mnt/RED_2TB/backup/` или `/mnt/RED_2TB/docker/` — подхватится автоматически. Нешифрованное → добавить `run_sync` строку в `/mnt/RED_2TB/docker/rclone/config/backup.sh`. ## Кандидаты на добавление — конфиги сервисов | Источник | Куда класть | Статус | |---|---|---| | Конфиги **t610** (HA OS): `/config/{configuration,automations,scripts,scenes,secrets}.yaml`, `/config/.storage/`, `/config/go2rtc.yaml`, `zigbee2mqtt`, `blueprints`, HA БД (`home-assistant_v2.db`), **опции ВСЕХ аддонов** (Supervisor API), `/data/options.json`, `/data/.ssh/authorized_keys`, `/addons/{mbusd,modbus-bridge,ustreamer}`, `/addon_configs/{zigbee2mqtt,nodered}` | `/mnt/RED_2TB/backup/t610/` | ✅ **РАБОТАЕТ, v4 (2026-09-14)** — крон TrueNAS id=3, юзер `nas`, 03:30 ежедневно, ротация 14 архивов. Детали, питфоллы, команды — `[[family/plans/t610-backup-to-truenas]]` | **Как работает (проверено 2026-09-14, v4):** крон на TrueNAS от юзера **`nas`** → `ssh` на t610 (ключ `/mnt/RED_2TB/backup/t610/.ssh/id_ed25519`, ограничен `from="192.168.2.197"`) → на t610 выгружаются **опции всех аддонов** через Supervisor API (`/addons//info` → `.data.options`) в `/tmp/habackup/`, затем `tar czf -` собирается НА t610 → архив `t610-full-.tar.gz` (**~6.0 МБ, 162 файла**) в `/mnt/RED_2TB/backup/t610/` → датасет `backup` целиком уходит в `mailru-crypt:` по воскресеньям. **Лог:** `backup.log` в той же папке. > 📌 **Почему опции аддонов критичны:** там `ha_token` (JWT для modbus-bridge), `mqtt_password` `mqtt1z3$`, привязки USB `by-path` (`usb-0:3`/`usb-0:4`), Zigbee serial, крипто-секрет Node-RED. Без них восстановление = ручная пересборка всего. ⚠️ **Важно про права (обновлено 2026-09-14):** запись в `/mnt/RED_2TB/backup/` требует root (было `root:root 775`), **но** целевой датасет `backup/t610` — `nas:nas 770`, поэтому сам бэкап пишется **без root**. `truenas_admin` добавлен в группу `nas`. Root нужен был только для `chown nas:nas /mnt/RED_2TB/backup/t610` (один раз). ⚠️ **Пароль `1316261` — НЕ от TrueNAS** (он от OpenWrt-роутера), root-операции — через System → Shell. - **rclone remotes на Mac отсутствуют** (`rclone listremotes` пуст) — конфиг с `mailru-crypt` живёт **только на TrueNAS**. Бэкап проектировать на стороне NAS, не Mac. - **Точки входа:** `ssh truenas_admin@mallexxx.duckdns.org` (внешний), `192.168.2.197` (LAN, только с t610). ## TODO — добавить в бэкап Следующие папки из `/mnt/RED_2TB/storage/` не бэкапятся, но должны: | Папка | Размер | Приоритет | |-------|--------|-----------| | `storage/git/` | 5.7M | 🔴 высокий — bare repo (obsidian-vault.git, hermes-taiga.git) | | `storage/obsidian/` | 1M | 🔴 высокий — рабочая копия Тайги | | `storage/art/` | 115M | 🟡 средний | | `storage/Music/` | 45G | 🟡 средний | | `storage/nas/` | <1M | 🟡 средний | | `storage/shared/` | <1M | 🟡 средний | | `storage/Edu/` | <1M | 🟡 средний | Добавить в `/mnt/RED_2TB/docker/rclone/config/backup.sh` новые `run_sync` строки. Шифровать через `mailru-crypt:` (как docker и backup). ## Файлы конфигурации - `/mnt/RED_2TB/docker/rclone/config/rclone.conf` — remotes (root-only) - `/mnt/RED_2TB/docker/rclone/config/crontab` — расписание - `/mnt/RED_2TB/docker/rclone/config/backup.sh` — скрипт