Представь, что твой TrueNAS — это не просто хранилище, а полноценный медиа-центр, который сам загружает контент. Transmission — это легковесный, но мощный торрент-клиент, который идеально вписывается в эту концепцию. Давай разберем, как развернуть и настроить его в твоей системе, будь то TrueNAS Scale или Core.
Выбор способа установки Transmission на TrueNAS
В зависимости от твоей версии TrueNAS, есть два основных пути. Давай рассмотрим оба, чтобы ты выбрал оптимальный для своей инфраструктуры.
| Метод | TrueNAS Scale | TrueNAS Core | Сложность |
|---|---|---|---|
| Официальное приложение (Docker) | ✅ Рекомендуется | ❌ Недоступно | Низкая |
| Ручная установка в Jail (TrueNAS Core) | ⚠️ Возможно, но избыточно | ✅ Единственный способ | Средняя/Высокая |
| Кастомный Docker Compose (TrueNAS Scale) | ✅ Для продвинутых | ❌ Недоступно | Высокая |
Настройка Transmission в TrueNAS Scale через официальное приложение
Это самый простой и быстрый способ. TrueNAS Scale использует Kubernetes (k3s) для управления контейнерами, и установка сводится к нескольким кликам.
Шаг 1: Подготовка хранилищ (Datasets)
Прежде чем запускать приложение, создай структуру папок. Это основа правильной работы и изоляции данных.
# Пример структуры через Shell (или создай в GUI)
# Залогируйся в веб-интерфейс TrueNAS -> Хранилище -> Дисковые наборы (Datasets)
# Создай следующие наборы:
# /mnt/pool/apps/transmission/config # для конфигурации
# /mnt/pool/media/downloads/complete # для завершенных загрузок
# /mnt/pool/media/downloads/incomplete # для незавершенных загрузок
# /mnt/pool/media/torrents/watch # для авто-добавления торрентов
transmission) и группу, и назначить им права на запись/чтение. В GUI это делается в разделе "Права доступа" dataset'а.
Шаг 2: Установка приложения Transmission
- Перейди в «Приложения» -> «Доступные приложения».
- Найди «transmission» в списке или используй поиск.
- Нажми «Установить».
Шаг 3: Конфигурация манифеста приложения
Здесь самая важная часть — настройка маунтов (mounts) и переменных окружения. Обрати особое внимание на пути.
# Пример ключевых настроек в форме установки:
# 1. Имя приложения: transmission (можно оставить по умолчанию)
# 2. Настройки хранилища (Storage):
# Добавь точки монтирования (Add Mount):
# - Тип: Host Path
# Host Path: /mnt/pool/apps/transmission/config
# Mount Path: /config
# Read Only: НЕТ
#
# - Тип: Host Path
# Host Path: /mnt/pool/media/downloads
# Mount Path: /media/downloads
# Read Only: НЕТ
#
# - Тип: Host Path
# Host Path: /mnt/pool/media/torrents/watch
# Mount Path: /media/watch
# Read Only: НЕТ
# 3. Переменные окружения (Environment Variables):
# Добавь переменные:
# - PUID: 1000 (UID созданного пользователя transmission)
# - PGID: 1000 (GID созданной группы transmission)
# - TZ: Europe/Moscow (твоя временная зона)
# - USER: myadmin (логин для веб-интерфейса Transmission)
# - PASS: StrongPassword123! (пароль для веб-интерфейса)
USER и PASS.
Шаг 4: Сетевые настройки и запуск
- Сетевая конфигурация: Выбери «Cluster IP» для внутреннего доступа или «NodePort» / «LoadBalancer», если нужен доступ извне.
- Порты: По умолчанию Transmission использует 9091 для веб-интерфейса и 51413 для пиринга. Убедись, что они проброшены корректно.
- Нажми «Установить» и дождись деплоя. Статус сменится на «Active».
Настройка Transmission в TrueNAS Core через Jail
В TrueNAS Core (на базе FreeBSD) установка происходит через создание Jail — изолированной среды. Это немного сложнее, но дает полный контроль.
# 1. Создай Jail через GUI: Jail -> Add
# Укажи имя (transmission), выбери последний образ (Release).
# 2. После создания, зайди в Shell Jail (или используй `iocage console transmission` с хоста).
# 3. Установи Transmission и необходимые пакеты:
pkg update
pkg upgrade -y
pkg install -y transmission-daemon transmission-web nano
# 4. Останови службу для настройки:
service transmission stop
# 5. Отредактируй основной конфиг:
nano /usr/local/etc/transmission/home/settings.json
Ключевые параметры в settings.json, которые нужно изменить:
{
"rpc-authentication-required": true,
"rpc-username": "myadmin",
"rpc-password": "{StrongPassword123!}", // Пароль в хэшированном виде
"rpc-whitelist-enabled": false, // Или настрой под свои IP
"download-dir": "/media/downloads/complete",
"incomplete-dir": "/media/downloads/incomplete",
"incomplete-dir-enabled": true,
"watch-dir": "/media/watch",
"watch-dir-enabled": true,
"umask": 2,
"peer-port": 51413
}
Шаг для Core: Монтирование хранилищ в Jail
# В веб-интерфейсе TrueNAS Core, в настройках Jail transmission:
# 1. Перейди в "Mount Points" -> Add.
# 2. Source: /mnt/pool/media/downloads
# 3. Destination: /media/downloads
# 4. Аналогично смонтируй папки для config и watch.
# После монтирования, создай необходимые подпапки внутри Jail:
iocage exec transmission "mkdir -p /media/downloads/complete /media/downloads/incomplete /media/watch"
# Установи правильного владельца (должен совпадать с пользователем/группой, под которыми работает демон)
iocage exec transmission "chown -R transmission:transmission /media/downloads /media/watch /usr/local/etc/transmission"
settings.json, можно временно запустить transmission с нужным паролем в конфиге, он сам его захеширует при первом запуске, или сгенерировать через Python/скрипты.
Оптимизация и продвинутая настройка Transmission
После базовой настройки, давай выжмем максимум из нашего клиента.
1. Настройка ограничений и очередей
Отредактируй файл settings.json (в /config для Scale или в пути Jail для Core), чтобы управлять нагрузкой на диск и сеть.
{
"speed-limit-down": 10240, // Ограничение загрузки (10 MB/s в КБ)
"speed-limit-down-enabled": true,
"speed-limit-up": 1024, // Ограничение отдачи (1 MB/s)
"speed-limit-up-enabled": true,
"download-queue-size": 5, // Макс. одновременных загрузок
"queue-stalled-enabled": true,
"idle-seeding-limit": 30, // Остановить раздачу через 30 мин без личеров
"idle-seeding-limit-enabled": true,
"ratio-limit": 2.0, // Остановить раздачу при достижении ratio 2.0
"ratio-limit-enabled": true
}
2. Настройка проброса портов (Port Forwarding)
Для улучшения скорости и доступности в пиринговых сетях, пробей порт 51413 (или выбранный тобой) на твоем роутере на IP-адрес твоего TrueNAS.
3. Автоматизация через watch-папку
Просто копируй .torrent файлы в смонтированную папку /media/watch, и Transmission автоматически начнет их загрузку. Идеально для интеграции с Radarr/Sonarr.
Решение частых проблем (Troubleshooting)
- «Нет доступа к веб-интерфейсу»: Проверь, что приложение запущено (Status: Active). Проверь настройки сети и порта в конфиге приложения. Убедись, что брандмауэр TrueNAS/роутера не блокирует порт.
- «Transmission не пишет в папки загрузки»: Это почти всегда проблема с правами (Permissions). Проверь PUID/PGID в переменных окружения (Scale) или владельца папок в Jail (Core). Используй команду
ls -laвнутри контейнера/Jail для проверки. - «Низкая скорость загрузки»: Проверь проброс порта 51413. В логах Transmission (доступны в веб-интерфейсе приложения TrueNAS Scale или в
/config/transmission.log) ищи статус порта. - «Приложение не обновляется»: В TrueNAS Scale обновление происходит через интерфейс «Приложения» -> «Установленные». Для Core внутри Jail выполни
pkg upgrade.
Интеграция в экосистему: Transmission как часть медиа-стека
Transmission — это лишь первый шаг. Его мощь раскрывается в связке с другими приложениями TrueNAS:
- Radarr/Sonarr: Менеджеры для фильмов и сериалов. Настрой в них клиентом загрузки Transmission, указав его веб-интерфейс (http://transmission:9091) и учетные данные.
- Plex/Jellyfin: Медиасерверы. Укажи библиотекам путь к папке
/media/downloads/complete. Новые файлы будут появляться автоматически. - VPN-контейнеры (gluetun): Для повышенной приватности можно запустить Transmission внутри сети VPN-контейнера. Это потребует настройки кастомного Docker Compose в TrueNAS Scale.
Итог: Зачем все это?
Настройка truenas transmission превращает твой NAS из пассивного хранилища в активного участника медиа-потока. Ты получаешь автономную, централизованную и управляемую систему загрузки, которая работает 24/7, не нагружая твой основной ПК. Потратив час на первоначальную настройку, ты экономишь десятки часов в будущем.