TrueNAS плагины: Установка, настройка, лучшие приложения | Гайд 2024 | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

TrueNAS плагины: Полное руководство по установке, настройке и управлению

17 февраля 2026 8 мин. чтения #docker #jail #truenas #настройка #плагины #приложения #установка #хранение данных
Содержание статьи

Представь, что твой TrueNAS сервер — это мощный швейцарский нож для хранения данных. А плагины TrueNAS — это дополнительные лезвия, отвертки и инструменты, которые превращают его из простого файлового хранилища в полноценную домашнюю лабораторию или корпоративный сервис. Давай разберем, как правильно выбирать, устанавливать и настраивать эти инструменты, чтобы не порезаться в процессе.

Что такое плагины в TrueNAS и зачем они нужны

Плагины (или приложения) в TrueNAS — это предварительно собранные и настроенные программные пакеты, которые запускаются в изолированных средах. Они позволяют развернуть сложные сервисы типа медиасервера, облачного хранилища или системы резервного копирования буквально в несколько кликов, без глубоких знаний Linux и Docker.

Важное различие: В TrueNAS Core используются Jail-плагины (на базе FreeBSD Jail), а в TrueNAS Scale — Docker-приложения (на базе Kubernetes). Это фундаментальная разница в архитектуре!

TrueNAS Scale: Установка приложений через Docker и Kubernetes

TrueNAS Scale использует современный подход на основе контейнеров. Давай пройдем весь путь от начала до работающего сервиса.

Шаг 1: Подготовка хранилища для приложений

Перед установкой любых плагинов создай отдельный dataset (набор данных):

bash
# Рекомендуемая структура через веб-интерфейс:
# Storage → Datasets → Create Dataset
# Имя: apps
# Тип: Filesystem
# Включить ACL: Да (для правильных разрешений)

Шаг 2: Настройка официального каталога приложений

Перейди в раздел Apps → Discover Apps. TrueNAS Scale по умолчанию использует каталог TrueCharts, но ты можешь добавить и другие:

config
# Пример добавления кастомного репозитория:
# Apps → Settings → Manage Catalogs → Add Catalog
# Имя: my-catalog
# Репозиторий: https://github.com/username/charts-repo
# Ветка: main
# Каталог: train

Шаг 3: Установка популярного плагина — Plex Media Server

Найди Plex в каталоге и нажми «Install». Вот ключевые настройки, на которые стоит обратить внимание:

  • Application Name: plex (используется для DNS имени)
  • Версия: Выбери стабильную (stable)
  • Storage Configuration: Самая важная часть!
config
# Пример маппинга томов для Plex:
# Host Path          | Mount Path          | Тип
# /mnt/pool/media    | /media             | ReadOnly
# /mnt/pool/apps/plex/config | /config      | ReadWrite
# /mnt/pool/apps/plex/transcode | /transcode | ReadWrite
Внимание! Не монтируй корневую файловую систему (/ или /mnt) в контейнеры. Всегда используй конкретные dataset'ы. Это вопрос безопасности и стабильности.

Шаг 4: Настройка сетевого доступа

По умолчанию приложения получают IP из внутренней сети Kubernetes. Для доступа извне:

  1. В настройках приложения найди раздел «Network Configuration»
  2. Включи «Host Network» для простого доступа по порту (если приложение одно)
  3. Или настрой Ingress (более сложно, но позволяет использовать поддомены)
  4. Открой порт на фаерволе: Network → Global Configuration → Services

TrueNAS Core: Работа с Jail-плагинами

В TrueNAS Core всё происходит через Jail — легковесные контейнеры FreeBSD. Интерфейс проще, но возможности более ограничены.

Установка плагина через веб-интерфейс

Plugins → Available Plugins. Выбери нужный (например, Nextcloud) и нажми Install.

bash
# После установки проверь статус Jail:
iocage list
# Должен появиться новый jail с именем nextcloud
# Посмотреть IP адрес:
iocage get ip4_addr nextcloud

Ручная настройка Jail для кастомных нужд

Если нужного плагина нет в каталоге, создай пустой Jail и установи ПО вручную:

bash
# Создание Jail через CLI:
iocage create -n "myjail" -r 13.0-RELEASE ip4_addr="vnet0|192.168.1.100/24"

# Запуск Jail:
iocage start myjail

# Вход в Jail:
iocage console myjail

# Внутри Jail устанавливай пакеты:
pkg install nginx php74 mysql80-server

# Настройка монтирования хостовых папок (из веб-интерфейса):
# Jail → Mount Points → Add
# Source: /mnt/pool/data
# Destination: /mnt/data

Сравнение: Jail (Core) vs Docker (Scale)

Критерий TrueNAS Core (Jail) TrueNAS Scale (Docker)
Изоляция Системная (FreeBSD Jail) Контейнерная (Docker + K8s)
Выбор ПО Ограничен (только FreeBSD пакеты) Огромный (все Docker образы)
Сложность Проще для новичков Сложнее, но гибче
Производительность Выше (меньше оверхеда) Немного ниже (оверхед Docker)
Обновления Через pkg в каждом Jail Централизовано (образы контейнеров)

Топ-10 полезных плагинов для TrueNAS

  • Plex/Jellyfin/Emby: Медиасерверы для фильмов и музыки
  • Nextcloud: Личное облако (альтернатива Google Drive)
  • Bitwarden/Vaultwarden: Менеджер паролей
  • Home Assistant: Умный дом
  • Pi-hole/AdGuard: Блокировщик рекламы на уровне сети
  • Transmission/qBittorrent: Торрент-клиенты
  • PhotoPrism: Управление фотоархивом
  • WordPress: Блог/сайт
  • VSCode Server: Веб-версия редактора кода
  • Uptime Kuma: Мониторинг доступности сервисов

Решение частых проблем с плагинами

Проблема 1: Плагин не запускается (CrashLoopBackOff)

Самый частый сценарий. Проверь логи:

bash
# В TrueNAS Scale:
k3s kubectl get pods -n ix-namespace
k3s kubectl logs -n ix-namespace pod/plex-xxxxx

# Или через веб-интерфейс:
# Apps → Найди приложение → Нажми три точки → View Logs

Частые причины:

  • Неправильные права на файлы (chmod/chown)
  • Конфликт портов (два приложения на порту 80)
  • Недостаточно памяти или места на диске

Проблема 2: Нет доступа к данным хоста

Убедись, что:

  1. Dataset смонтирован в правильную точку внутри контейнера
  2. Пользователь в контейнере имеет права на чтение/запись
  3. В TrueNAS Scale: Используется правильный Storage Class
bash
# Проверь права на dataset:
ls -la /mnt/pool/apps/
# Должно быть что-то вроде:
# drwxr-xr-x  5 apps apps  5 Dec 10 10:00 plex

# Если права неправильные:
chown -R apps:apps /mnt/pool/apps/plex

Проблема 3: Обновления ломают плагин

Золотое правило: Всегда делай бэкап конфигурации плагина перед обновлением! В TrueNAS Scale используй функцию «Snapshot» на dataset'е с конфигами приложения.

Продвинутые техники: Кастомные Docker образы

Если в каталоге нет нужного приложения, создай своё:

docker-compose
# Создай docker-compose.yml в dataset'е apps/custom:
version: '3.8'
services:
  myapp:
    image: username/custom-app:latest
    container_name: myapp
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /mnt/pool/apps/myapp/config:/config
      - /mnt/pool/media:/media:ro
    environment:
      - PUID=568  # ID пользователя apps
      - PGID=568  # ID группы apps
      - TZ=Europe/Moscow

Затем используй «Custom App» в интерфейсе TrueNAS Scale, указав путь к docker-compose.yml.

Безопасность: Best Practices

  • Изоляция сети: Используй отдельную VLAN для приложений
  • Минимальные привилегии: Не запускай плагины от root
  • Регулярные обновления: Включай автообновления для критических уязвимостей
  • Бэкапы: Настрой периодические снепшоты dataset'ов с конфигами
  • Мониторинг: Установи Netdata или аналоги для отслеживания ресурсов

Частые вопросы (FAQ)

Можно ли перенести плагины с TrueNAS Core на Scale?

Прямого переноса нет. Jail (FreeBSD) и Docker (Linux) — несовместимые технологии. Придется:
1. Экспортировать конфигурацию и данные из Jail-плагина
2. Установить аналогичный Docker-образ в Scale
3. Импортировать данные и настроить заново

Почему некоторые плагины недоступны в официальном каталоге?

Команда TrueNAS проверяет и подписывает только стабильные, популярные приложения. Для остального:
1. Добавь community-каталог (например, TrueCharts)
2. Используй «Custom App» для своих Docker Compose
3. Создай пустой Jail/контейнер и установи ПО вручную

Как освободить место после удаления плагина?

1. Удали приложение через интерфейс (Apps → удали)
2. Удали связанные dataset'ы: Storage → Datasets → найди папку приложения → Destroy Dataset
3. Очисти Docker-образы (в Scale):

bash
k3s crictl rmi --prune

Можно ли запускать плагины на отдельном диске/пуле?

Да, и это рекомендуется для производительности!
1. Создай отдельный pool из SSD-дисков
2. Создай dataset «apps» на этом пуле
3. В настройках Apps укажи этот dataset как Storage Pool
Результат: приложения не тормозят основной пул с данными.

Заключение: Системный подход к плагинам

Плагины TrueNAS — это не просто «установил и забыл». Это полноценные сервисы, которые требуют:

  • Планирования: Где будут храниться данные? Какой сетевой доступ нужен?
  • Резервного копирования: Конфиги важны не меньше данных
  • Мониторинга: Следи за потреблением ресурсов
  • Обновлений: Регулярно обновляй и проверяй совместимость

Начни с одного-двух простых плагинов (например, Plex для медиа и Nextcloud для файлов). Освой их настройку, пойми как работают монтирования томов и сеть. Затем постепенно расширяй свою домашнюю лабораторию, добавляя более сложные сервисы. И помни: если что-то сломалось — у тебя всегда есть снепшоты ZFS, чтобы откатиться к рабочему состоянию.

Финальный совет: Документируй свои настройки! Создай текстовый файл в безопасном месте, где записывай: какие плагины установлены, какие порты они используют, где хранятся их конфиги и данные. Это сэкономит часы при аварийном восстановлении.
Поделиться:
Сохранить гайд? В закладки браузера