Плагины Jail — это основной способ расширения функциональности TrueNAS CORE в 2026 году. Это предварительно настроенные, изолированные окружения (Jails), которые позволяют быстро развернуть популярные сервисы, такие как Nextcloud, Plex или медиасерверы, прямо из веб-интерфейса. Данное руководство предоставляет проверенную, пошаговую инструкцию по всему жизненному циклу плагина: от выбора в каталоге и безопасной установки до тонкой настройки критически важных параметров — монтирования хранилищ ZFS и конфигурации сети. Вы научитесь управлять плагинами (запуск, обновление, удаление) и получите инструменты для самостоятельной диагностики типичных проблем, таких как ошибки прав доступа (Permission Denied) или отсутствие сетевой связности. Инструкция актуальна для TrueNAS CORE 2026 и основана на практическом опыте, что гарантирует работоспособность описанных шагов в реальных условиях.
Что такое плагины Jail в TrueNAS CORE и зачем они нужны в 2026 году
Плагины Jail — это не отдельные приложения, а целые предварительно настроенные изолированные окружения, построенные на технологии FreeBSD Jails. В контексте TrueNAS CORE 2026 они остаются ключевым механизмом для развертывания дополнительных сервисов. В отличие от виртуальных машин, Jail не эмулируют полноценную операционную систему, а создают легковесную изоляцию на уровне процессов и файловой системы, что минимизирует накладные расходы на ресурсы (CPU, RAM). В отличие от Docker в TrueNAS SCALE, плагины Jail глубоко интегрированы в веб-интерфейс CORE, что делает их управление более централизованным и удобным для администратора, не требующим работы с командной строкой для базовых операций. Это оптимальный выбор, когда вам нужен готовый, поддерживаемый сервис с прямым доступом к данным на хосте.
Jail vs Виртуальные машины vs Docker: краткий анализ для выбора технологии
Выбор технологии зависит от задачи. Для быстрого развертывания готовых сервисов с доступом к данным хоста плагины Jail — оптимальный баланс.
| Критерий | Плагины Jail (TrueNAS CORE) | Виртуальные машины | Docker (TrueNAS SCALE) |
|---|---|---|---|
| Степень изоляции | Высокая (изоляция процессов, FS, сети), но общее ядро ОС. | Полная (отдельное ядро, виртуализация оборудования). | Высокая (изоляция через пространства имен), общее ядро. |
| Накладные расходы | Минимальные. Общее ядро, нет гипервизора. | Высокие. Требуется выделение RAM, CPU, место под гостевую ОС. | Низкие, но выше, чем у чистых Jail из-за слоев образов. |
| Доступ к данным хоста | Прямой и безопасный через монтирование (mount points) пулов ZFS. | Через виртуальные диски или сетевые шары (NFS/SMB), что медленнее. | Прямой через bind mounts, аналогично Jail. |
| Управление через GUI | Полная интеграция. Установка, настройка сети/хранилищ, управление. | Полное управление ВМ, но гостевая ОС настраивается отдельно. | Интеграция через приложения, но часто требуется редактирование compose-файлов. |
| Идеальный сценарий | Готовые сервисы (Nextcloud, Plex, медиасерверы), легкие демоны. | Запуск другой ОС (Windows, Linux), тестирование, полная изоляция. | Микросервисная архитектура, быстрое развертывание стека приложений. |
Вывод: используйте плагины Jail в TrueNAS CORE для сервисов, где критически важен легковесный доступ к данным на ZFS и удобство управления из единого интерфейса. Для задач, требующих полной изоляции или иной ОС, выбирайте виртуальные машины. Если ваш стек построен на контейнерах, рассмотрите переход на TrueNAS SCALE.
Архитектура плагина: как Jail, хранилище и сеть работают вместе
Понимание архитектуры необходимо для осознанной настройки. Представьте плагин как квартиру (Jail) в многоквартирном доме (TrueNAS).
- Jail (Квартира): Изолированное пространство с собственной файловой системой, сетевым стеком и процессами. У квартиры свой адрес (IP) и планировка (корневая файловая система плагина).
- Mount Points (Коммуникации): Это «трубы», соединяющие квартиру с общими системами дома. В контексте TrueNAS — это точки монтирования, которые связывают путь внутри Jail (например,
/mnt/media) с dataset на основном пуле ZFS хоста (например,/mnt/tank/media). Данные физически хранятся на хосте, но доступны из Jail. - Сеть (VNET/Bridge): Виртуальный сетевой интерфейс (
vnet0) внутри Jail подключается к виртуальному коммутатору (мосту, bridge) на хосте. Этот мост, в свою очередь, подключен к физическому интерфейсу TrueNAS. Это дает Jail собственный IP в вашей локальной сети.
Такая архитектура обеспечивает безопасность (изоляция сбоев) и производительность (прямой доступ к данным). Проблемы обычно возникают на стыках: неправильно настроенные права доступа на mount points или конфликт IP-адресов в сети. Подробнее о создании кастомных Jail с полным контролем читайте в нашем руководстве по пользовательским Jail.
Пошаговая установка плагина из официального каталога TrueNAS CORE 2026
Установка плагина — процесс, максимально автоматизированный в TrueNAS CORE 2026. Следуйте шагам, чтобы избежать ошибок на старте.
- Перейдите в раздел «Plugins» в главном меню веб-интерфейса TrueNAS.
- Просмотрите каталог. Система загрузит список доступных плагинов из официальных репозиториев. Используйте поиск, чтобы найти нужный сервис (например, «Nextcloud» или «Plex»). Обращайте внимание на статус плагина — выбирайте стабильные (STABLE) версии.
- Нажмите «INSTALL» на выбранном плагине. Откроется диалоговое окно.
- Укажите имя Jail (оно же имя плагина для управления). Оставьте остальные настройки сети и хранилищ по умолчанию — их мы настроим точечно после установки. Нажмите «SUBMIT».
- Дождитесь завершения. Система автоматически скачает образ плагина (iocage plugin), создаст Jail с базовой конфигурацией и запустит его. Процесс может занять несколько минут. Статус можно отслеживать в задачах (верхний колокольчик).
После установки плагин появится в списке в разделе «Jails». Он будет запущен, но, скорее всего, не готов к работе — ему не назначены хранилища для данных и, возможно, требуется точная настройка сети. Сравнить процесс установки плагинов в CORE и приложений в SCALE можно в нашем отдельном руководстве по установке.
Что происходит «под капотом» во время установки
Когда вы нажимаете «INSTALL», TrueNAS выполняет следующую последовательность:
- Запрос к репозиторию: Система обращается к официальному репозиторию плагинов (iocage plugin) и скачивает образ, который представляет собой снимок (snapshot) предварительно настроенной файловой системы FreeBSD с установленным и сконфигурированным целевым ПО (например, Nextcloud с веб-сервером и PHP).
- Создание Jail: На основе этого образа система управления iocage создает новый Jail. Клонируется базовая файловая система, назначается уникальный идентификатор, создаются стандартные сетевые настройки (чаще всего NAT, что не всегда оптимально).
- Применение конфигурации плагина: Внутри Jail запускаются пост-установочные скрипты, которые настраивают конкретный сервис: создают служебных пользователей, задают начальные параметры конфигурации, активируют необходимые службы.
Итог: плагин — это «запеченный» Jail, где большая часть рутинной настройки уже выполнена. Ваша задача — адаптировать его под свою инфраструктуру: дать доступ к данным и правильно подключить к сети.
Критическая настройка: монтирование хранилищ и сетевая конфигурация
Базовая установка создает работоспособный, но изолированный Jail. Чтобы плагин стал полезным, его необходимо интегрировать в вашу среду: предоставить доступ к данным на пулах ZFS и настроить сетевое взаимодействие. Это два наиболее важных и часто проблемных этапа.
Настройка Mount Points: как избежать ошибок с правами доступа (Permission Denied)
Ошибка «Permission Denied» при попытке записи плагином в смонтированную папку — самая распространенная проблема. Ее причина — несовпадение UID (User ID) и GID (Group ID) файлов на хосте и внутри Jail. Решение — синхронизация владельца.
Пошаговый кейс для плагина Plex (медиабиблиотека):
- На хосте TrueNAS создайте Dataset. Например,
/mnt/tank/media. В его свойствах (Advanced) установите владельца (User) и группу (Group). Для Plex стандартно используютсяplex:plex. Запишите UID/GID (например, 972:972), они могут быть назначены автоматически. - В веб-интерфейсе откройте настройки Jail вашего плагина. Перейдите на вкладку «Mount Points».
- Добавьте новую точку монтирования (Add).
- Source: Путь на хосте (
/mnt/tank/media). - Destination: Путь внутри Jail, где будут доступны данные (например,
/mnt/media). - Важно: В свойствах точки монтирования установите опции «Read-Only» (если нужно) и, самое главное, задайте Owner (User) и Owner (Group). Введите те же числовые UID и GID, что и у владельца dataset на хосте (в нашем примере 972 и 972). Это заставит Jail «видеть» файлы с правильными правами.
- Source: Путь на хосте (
- Сохраните настройки и перезапустите Jail.
Этот метод решает проблему «плясок с правами», описанную в контексте упрощенных контейнерных сред. TrueNAS CORE предоставляет правильные инструменты для их решения.
Сетевая изоляция и доступ: настройка bridge и статических IP
Настройка сети определяет, как ваш плагин будет доступен в локальной сети и интернете. Базовая установка часто использует NAT, что неудобно для серверов. Рекомендуется использовать мост (bridge) и статический IP.
- Создайте сетевой мост (Bridge) в TrueNAS (если его еще нет). Перейдите в «Network» → «Interfaces» → «Add» → «Bridge». Добавьте в мост физический интерфейс (например,
igb0). Назначьте мосту IP-адрес из вашей подсети (например, 192.168.1.10/24) или оставьте настройку через DHCP. - Настройте сеть Jail. В свойствах Jail перейдите на вкладку «Network Properties».
- Для интерфейса
vnet0укажите «Bridge» в качестве «Interface». Выберите созданный вами мост (например,bridge0). - В поле «IPv4 Address» укажите свободный статический IP из той же подсети, что и мост (например, 192.168.1.150/24). «IPv4 Default Router» — адрес вашего шлюза (192.168.1.1).
- Для интерфейса
- Сохраните и перезапустите Jail. Теперь плагин будет доступен в локальной сети по своему собственному IP-адресу.
Для доступа извне потребуется настроить проброс портов (Port Forwarding) на вашем маршрутизаторе с внешнего адреса на внутренний IP Jail. Подробнее о сетевых моделях и выборе между Jail и ВМ для разных задач читайте в статье «Jails или виртуальные машины в TrueNAS в 2026 году».
Повседневное управление плагинами: запуск, обновление, удаление
После установки и настройки плагином необходимо управлять. Все базовые операции выполняются через веб-интерфейс в разделе «Jails».
- Запуск/Остановка/Перезагрузка (Start/Stop/Restart): Используйте соответствующие кнопки в списке Jails. Остановка плагина останавливает все его службы, освобождая ресурсы.
- Автозапуск: В свойствах Jail есть опция «Auto-start». Включите ее, чтобы плагин запускался автоматически при загрузке TrueNAS.
Обновление плагина с сохранением конфигурации и данных
Обновление — критическая операция. В TrueNAS CORE 2026 процесс стал безопаснее, но меры предосторожности необходимы.
- Проверьте наличие обновлений. В разделе «Jails» для нужного плагина может отображаться иконка обновления. Также проверьте настройки системы на предмет обновлений репозиториев.
- Создайте снапшот dataset с конфигурацией (рекомендуется). Если вы следовали лучшим практикам и храните конфигурацию плагина на отдельном dataset (например,
/mnt/tank/apps/nextcloud_config), создайте его моментальный снимок (Snapshot) перед обновлением. Это точка отката. - Запустите обновление. Нажмите кнопку «Update» для выбранного Jail. Система обновит базовый образ Jail и пакеты внутри него. Конфигурационные файлы, расположенные в стандартных путях (часто
/usr/local/etc/), а также все данные на смонтированных хранилищах не затрагиваются. - После завершения перезапустите Jail и проверьте работоспособность сервиса.
Полное удаление плагина: очистка Jail и освобождение ресурсов
Чтобы удалить плагин без остаточных файлов:
- В разделе «Jails» найдите нужный плагин и нажмите «Stop».
- Нажмите кнопку удаления (корзина). Откроется диалог с критически важными опциями:
- ☑ Delete jail storage. Удаляет корневую файловую систему Jail (установленные пакеты, системные файлы). Всегда оставляйте включенной для очистки.
- ☑ Delete jail base image. Удаляет скачанный образ плагина. Можно включить, если уверены, что больше не будете устанавливать этот плагин.
- ВНИМАНИЕ: Данные на смонтированных внешних хранилищах (mount points) НЕ УДАЛЯЮТСЯ автоматически. Они остаются на ваших пулах ZFS. Их нужно удалить вручную через «Storage», если они больше не нужны.
Этот процесс гарантирует, что от плагина не останется ничего, кроме ваших пользовательских данных, которые вы контролируете отдельно.
Диагностика и решение распространенных проблем
Даже при четком следовании инструкциям могут возникнуть проблемы. Умение их диагностировать — ключевой навык.
Как просматривать логи плагина для поиска ошибок
Логи — первое место для поиска причины сбоя.
- Через веб-интерфейс: Выберите Jail в списке и нажмите «Shell». В открывшейся консоли выполните команды:
tail -f /var/log/messages # Основной системный лог # Или логи конкретного сервиса, например, для Nextcloud: tail -f /var/log/nginx/error.log tail -f /usr/local/www/nextcloud/data/nextcloud.log - Через вкладку «Logs» Jail: В свойствах Jail есть вкладка «Logs», где можно просмотреть системные сообщения, связанные с жизненным циклом Jail (старт, остановка, ошибки сети).
Пример ошибки в логе: nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) — говорит о конфликте портов (другой сервис уже использует порт 80).
Проверка сетевой связности и прав доступа из командной строки Jail
Используйте Shell Jail для глубокой диагностики.
- Сеть:
ifconfig vnet0 # Проверить назначенный IP-адрес ping -c 4 192.168.1.1 # Проверить связь со шлюзом ping -c 4 8.8.8.8 # Проверить выход в интернет sockstat -l -4 # Показать процессы, слушающие порты (IPv4) - Хранилища и права:
mount | grep mnt # Показать смонтированные точки ls -la /mnt/media # Проверить список файлов и права доступа (владельца/группу) df -h /mnt/media # Проверить свободное место на смонтированном хранилище
Если команда ping до шлюза не проходит, проблема в сетевой конфигурации Jail или моста. Если файлы в /mnt/media показывают неожиданного владельца (например, nobody:nobody), значит, настройки владельца в mount point не совпадают с настройками dataset на хосте.
Практические примеры: настройка популярных плагинов (Nextcloud, Plex)
Общие принципы лучше всего закрепляются на практике. Рассмотрим ключевые моменты настройки двух самых востребованных плагинов после их базовой установки из каталога. Более детальные инструкции по развертыванию этих и других приложений (Docker, GitLab) вы найдете в нашем большом руководстве по настройке приложений в Jails.
Nextcloud:
- Хранилище: Создайте два dataset на хосте: один для данных Nextcloud (
/mnt/tank/nextcloud_data), другой для базы данных (/mnt/tank/nextcloud_db). Смонтируйте их в Jail, как описано выше (например, в/mnt/dataи/mnt/db), синхронизировав права. Владельцем для Nextcloud часто являетсяwww:www. - Первая настройка: После установки откройте браузер по IP-адресу Jail. Пройдите мастер начальной настройки. При запросе каталога данных укажите путь внутри Jail, куда смонтирован dataset с данными (например,
/mnt/data). Для базы данных на начальном этапе можно использовать встроенный SQLite (для тестов) или настроить отдельный сервер (например, PostgreSQL в другом Jail).
Plex Media Server:
- Хранилище: Ключевой шаг — монтирование библиотек медиа. Создайте dataset (например,
/mnt/tank/media/movies) и смонтируйте его в Jail (например, в/mnt/movies). Критически важно установить владельца точки монтирования в соответствии с пользователем Plex внутри Jail (обычноplex:plex, UID/GID 972). - Заявка сервера: После первого запуска откройте веб-интерфейс Plex по адресу
http://IP_Jail:32400/web. Вам потребуется войти в аккаунт Plex (или создать его) и «заявить» сервер. Затем в настройках библиотек укажите пути внутри Jail к смонтированным папкам (например,/mnt/movies).
Эти шаги обеспечивают базовую работоспособность. Дальнейшая тонкая настройка (оптимизация транскодирования для Plex, настройка внешнего доступа для Nextcloud) выполняется уже в интерфейсах самих приложений.