From 370f4a478da2b02c596f560f728f2373702d10c2 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 30 Apr 2026 10:33:55 +0600 Subject: [PATCH] =?UTF-8?q?[2026-04-30]=20TrueNAS=20infrastructure=20doc?= =?UTF-8?q?=20=E2=80=94=20containers,=20folders,=20ACL,=20domains?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- family/how-to/truenas-infrastructure.md | 118 ++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 family/how-to/truenas-infrastructure.md diff --git a/family/how-to/truenas-infrastructure.md b/family/how-to/truenas-infrastructure.md new file mode 100644 index 00000000..ade34474 --- /dev/null +++ b/family/how-to/truenas-infrastructure.md @@ -0,0 +1,118 @@ +# TrueNAS — инфраструктура + +> Обновлено: 2026-04-30 + +## Доступ + +- **Host (local):** `192.168.2.197` +- **Host (external):** `mallexxx.duckdns.org` (DuckDNS, иногда слетает резолв — fallback на 192.168.2.197) +- **SSH:** `truenas_admin@mallexxx.duckdns.org -i ~/.ssh/id_rsa` +- **Web UI:** http://truenas.mallexxx.duckdns.org +- **Portainer:** https://portainer.mallexxx.duckdns.org + +## Пользователи и группы (ключевые) + +| uid | Имя | gid | Назначение | +|-----|-----|-----|------------| +| 950 | truenas_admin | 950 | SSH-пользователь, управление docker | +| 911 | transdamon | 911 | Процесс Transmission внутри контейнера | +| 921 | transmission | 921 | Старый пользователь (не используется контейнером) | +| 3000 | nas_users | 3000 | Общая группа доступа к NAS | + +## Структура папок + +``` +/mnt/RED_2TB/ +├── docker/ ← конфиги docker-контейнеров (бэкапятся → mailru-crypt:) +│ ├── caddy/ +│ ├── filebrowser/ +│ ├── ha/ ← Home Assistant +│ ├── hermes/ ← Hermes-Taiga +│ ├── homeassistant/ +│ ├── immich/ +│ ├── inpx-web/ +│ ├── inpxer/ +│ ├── mbusd/ +│ ├── modbus-bridge/ +│ ├── mosquitto/ +│ ├── nodered/ +│ ├── portainer/ +│ ├── python/ +│ ├── rclone/ +│ ├── ser2net/ +│ ├── transmission/ ← конфиг Transmission (settings.json, torrents, resume...) +│ ├── vless-proxy/ +│ ├── watchtower/ +│ ├── webdav/ +│ └── zigbee2mqtt/ +├── storage/ +│ ├── Downloads/ ← данные торрентов (монтируется в контейнер как /mnt/storage) +│ │ ├── transmission/ ← старый путь конфига (больше не используется) +│ │ └── [медиафайлы] +│ └── obsidian/ ← vault (read-only для hermes-taiga) +├── backup/ ← ручные бэкапы (бэкапятся → mailru-crypt:) +│ └── transmission-config/ ← снапшот конфига от 2026-04-30 +├── Photos/ ← фото (бэкапятся → mailru:Photos/Photos) +├── old-bu/ ← старый архив (бэкапятся → mailru:Photos/old-bu) +└── immich-photos-upload/ ← библиотека Immich (бэкапятся → mailru:Photos/immich) +``` + +## NFSv4 ACL — важно + +TrueNAS использует **NFSv4 ACL**, а не стандартный POSIX chmod/chown. +- `ls -la` показывает `----------` даже если ACL есть → всегда проверять через `midclt call filesystem.getacl ` +- Добавить запись: `midclt call filesystem.setacl '{...}'` +- `truenas_admin` не имеет passwordless sudo → root-операции только через midclt или TrueNAS UI + +## Docker-контейнеры + +| Контейнер | Image | Порт | Домен | +|-----------|-------|------|-------| +| transmission | linuxserver/transmission:latest | 9091, 51413 | transmission.mallexxx.duckdns.org | +| hermes-taiga | hermes-taiga:latest | — | — | +| vless-proxy | teddysun/xray:latest | — | — | +| filebrowser | filebrowser/filebrowser:latest | — | — | +| webdav | hacdias/webdav:latest | — | webdav.mallexxx.duckdns.org | +| homeassistant | home-assistant:stable | 8123 | mallexxx.duckdns.org | +| immich-server | immich-app/immich-server:release | 2283 | immich.mallexxx.duckdns.org | +| immich-postgres | tensorchord/pgvecto-rs:pg14-v0.2.0 | — | — | +| immich-redis | redis:7 | — | — | +| nodered | nodered/node-red:latest | 1880 | nodered.mallexxx.duckdns.org | +| mosquitto | eclipse-mosquitto:latest | — | — | +| caddy | caddy:latest | 80, 443 | reverse proxy для всего | +| rclone | rclone/rclone:latest | — | бэкап по cron | +| portainer | portainer/portainer-ce:latest | 9000 | portainer.mallexxx.duckdns.org | +| watchtower | containrrr/watchtower:latest | — | авто-обновление образов | +| inpxer | ghcr.io/hedger/inpxer:latest | 18080 | books.mallexxx.duckdns.org | +| nodered | node-red:latest | 1880 | nodered.mallexxx.duckdns.org | +| zigbee2mqtt | koenkk/zigbee2mqtt:latest | — | — | +| mbusd | 3cky/mbusd:latest | — | Modbus | +| modbus-bridge | modbus-bridge | — | — | +| cups-splix | cups-splix | — | принтер | + +### Transmission — детали +- **Config:** `/mnt/RED_2TB/docker/transmission/` (монтируется как `/config`) +- **Данные:** `/mnt/RED_2TB/storage` (монтируется как `/mnt/storage`) +- **Download dir:** `/mnt/storage/Downloads` +- **UID/GID:** 911/911 (пользователь `transdamon`) +- **RPC whitelist:** `172.16.6.*` +- **Web:** https://transmission.mallexxx.duckdns.org +- **Порты:** 9091 (RPC/web), 51413 (TCP/UDP peers) + +### Caddy — домены +| Домен | → | +|-------|---| +| mallexxx.duckdns.org | Home Assistant :8123 | +| transmission.mallexxx.duckdns.org | Transmission :9091 | +| immich.mallexxx.duckdns.org | Immich :2283 | +| nodered.mallexxx.duckdns.org | Node-RED :1880 | +| webdav.mallexxx.duckdns.org | WebDAV | +| books.mallexxx.duckdns.org | Inpxer :18080 | +| portainer.mallexxx.duckdns.org | Portainer :9000 | +| truenas.mallexxx.duckdns.org | TrueNAS UI :80 | +| cam.mallexxx.duckdns.org | Камера :8090 | +| docs.mallexxx.duckdns.org | Docs :8000 | + +## Связанные заметки +- [[truenas-access]] — SSH-доступ +- [[truenas-rclone-backup]] — система бэкапов