====== Развертывание Lampac на TrueNAS ======
===== Введение =====
Данная инструкция описывает процесс развертывания сервера **Lampac NextGen** в среде TrueNAS с использованием Docker Compose, а также настройку дополнительных модулей для расширения функциональности: панели администратора, поиска торрентов и уведомлений о новых сериях.
**Важное замечание:** В ходе настройки выяснилось, что сеть сервера TrueNAS может блокировать доступ к внешним сервисам (TMDB, Telegram). Некоторые модули (SeriesNotify) не будут работать без прокси или VPN. Инструкция отражает как успешные шаги, так и выявленные ограничения.
===== Требования =====
* Установленный TrueNAS с поддержкой Docker (Apps).
* Базовые навыки работы с терминалом (SSH или веб-консоль TrueNAS).
* Свободный порт **9118** (или другой по вашему выбору).
===== Шаг 1: Подготовка директорий и файлов =====
Создайте директорию для конфигурационных файлов на хосте (например, в пуле хранения):
mkdir -p /mnt/storage/web/lampa/conf
cd /mnt/storage/web/lampa/conf
Создайте файл пароля root (требуется для доступа к служебным страницам, включая WebLog и AdminPanel):
printf '%s' 'ваш_пароль' > /mnt/storage/web/lampa/conf/passwd
Создайте базовый файл конфигурации ''init.conf''. В минимальном варианте достаточно указать порт и разрешить загрузку всех модулей:
{
"listen": {
"ip": "any",
"port": 9118,
"scheme": "http"
},
"BaseModule": {
"SkipModules": [],
"LoadModules": [".*"]
},
"cache": {
"extend": 180
}
}
===== Шаг 2: Docker Compose конфигурация =====
Создайте файл ''docker-compose.yml'' в удобной директории. Ниже приведен итоговый вариант с учетом всех настроенных модулей:
services:
lampac:
container_name: lampac
image: ghcr.io/lampac-nextgen/lampac:latest
ports:
- '9118:9118'
restart: unless-stopped
shm_size: 1024mb
volumes:
- /mnt/storage/web/lampa/conf/init.conf:/lampac/init.conf
- /mnt/storage/web/lampa/conf/passwd:/lampac/passwd
- /mnt/storage/web/lampa/conf/AdminPanel.manifest.json:/lampac/module/AdminPanel/manifest.json
- /mnt/storage/web/lampa/conf/JacRed.manifest.json:/lampac/module/JacRed/manifest.json
- /mnt/storage/web/lampa/conf/SeriesNotify.manifest.json:/lampac/module/SeriesNotify/manifest.json
version: '3'
**Примечание:** Монтирование файлов ''manifest.json'' необходимо для принудительного включения модулей, которые по умолчанию отключены в образе.
Запустите контейнер:
docker compose up -d
После запуска сервер будет доступен по адресу ''http://IP_ВАШЕГО_TNAS:9118''.
===== Шаг 3: Настройка модулей =====
Модули в Lampac включаются путем изменения параметра ''"enable"'' в их файлах ''manifest.json'' с ''false'' на ''true''. Для этого файлы копируются из контейнера на хост, редактируются и монтируются обратно (как показано в ''docker-compose.yml'').
==== 3.1. AdminPanel (Панель администратора) ====
Модуль AdminPanel по умолчанию отключен. Для включения:
docker cp lampac:/lampac/module/AdminPanel/manifest.json /mnt/storage/web/lampa/conf/AdminPanel.manifest.json
sed -i 's/"enable": false/"enable": true/' /mnt/storage/web/lampa/conf/AdminPanel.manifest.json
После перезапуска контейнера панель будет доступна по адресу ''http://IP_ВАШЕГО_TNAS:9118/adminpanel''. Пароль — тот, что вы указали в файле ''passwd''.
==== 3.2. JacRed (Поиск торрентов) ====
Модуль JacRed обеспечивает интеграцию с торрент-трекерами (Rutor, Kinozal, NNM-Club и др.). В некоторых версиях образа он уже включен, но для надежности можно проверить и при необходимости принудительно включить:
docker cp lampac:/lampac/module/JacRed/manifest.json /mnt/storage/web/lampa/conf/JacRed.manifest.json
sed -i 's/"enable": false/"enable": true/' /mnt/storage/web/lampa/conf/JacRed.manifest.json
Убедитесь, что в логах появилось сообщение ''loaded module: JacRed''. В клиенте Lampa для поиска торрентов необходимо указать адрес вашего сервера (порт 9118) и выбрать тип парсера **Jackett**, оставив поле API-ключа пустым.
==== 3.3. SeriesNotify (Уведомления о сериях) ====
Модуль SeriesNotify предназначен для отправки уведомлений в Telegram о выходе новых серий. Для его работы требуется токен бота от @BotFather и ключ TMDB API.
Включение модуля:
docker cp lampac:/lampac/module/SeriesNotify/manifest.json /mnt/storage/web/lampa/conf/SeriesNotify.manifest.json
sed -i 's/"enable": false/"enable": true/' /mnt/storage/web/lampa/conf/SeriesNotify.manifest.json
Добавьте секцию в ''init.conf'':
"SeriesNotify": {
"enable": true,
"bot_token": "ВАШ_ТОКЕН_ИЗ_BOTFATHER",
"tmdb_api_key": "ВАШ_КЛЮЧ_TMDB",
"lampac_host": "http://127.0.0.1:9118",
"check_interval_minutes": 60
}
**⚠️ Ограничение:** Если сервер TrueNAS не имеет доступа к ''api.telegram.org'', модуль будет выдавать ошибку ''Request timed out'' и уведомления работать не будут. В этом случае рекомендуется отключить модуль (''"enable": false''), чтобы избежать засорения логов.
===== Шаг 4: Настройка клиента Lampa =====
==== 4.1. Подключение к серверу ====
В клиенте Lampa (на ТВ, приставке или ПК) укажите адрес вашего сервера Lampac:
* **Ссылка (Link):** ''IP_ВАШЕГО_TNAS:9118'' (без %%http://%%).
* **Тип парсера:** Jackett.
* **Api-ключ:** Оставить пустым.
==== 4.2. Установка плагинов ====
Для расширения функциональности в Lampa можно установить дополнительные плагины через раздел **Настройки → Расширения** (кнопка «Добавить плагин»):
* **Интеграция с Кинопоиском (список «Буду смотреть»):** ''%%https://and7ey.github.io/lampa/kinopoisk.js%%''. Добавляет в главное меню раздел «Кинопоиск» для доступа к вашему списку «Буду смотреть» (требуется авторизация через Яндекс).
* **Источник данных Кинопоиска (замена TMDB):** ''%%https://nb557.github.io/plugins/kp_source.js%%''. Добавляет Кинопоиск как альтернативный источник для поиска и каталога. **Внимание:** этот плагин несовместим с другими источниками Кинопоиска, установите только один.
* **Плагин статусов сериалов:** ''%%https://igorek1986.github.io/lampa-plugins/status.js%%''. Добавляет метки «В эфире», «Завершен» на карточки сериалов. **Работает только при наличии доступа к TMDB** (напрямую или через прокси).
* **Плагин SeriesNotify (если нужен Telegram):** ''%%http://IP_ВАШЕГО_TNAS:9118/tg-notify.js%%''. Добавляет кнопку подписки на уведомления в карточки сериалов (работает только при наличии доступа к Telegram на сервере).
**Как переключить источник на Кинопоиск:**
После установки плагина ''kp_source.js'' и перезапуска Lampa, зайдите в **Настройки → Основной источник** (или **Настройки → Остальное → Основной источник**) и выберите **«KP»**.
===== Диагностика проблем =====
**Проблема:** Страница ''/adminpanel'' не открывается (404).
**Решение:** Убедитесь, что модуль AdminPanel включен в ''manifest.json'' и перезапустите контейнер. Проверьте логи: ''docker logs lampac | grep -i admin''.
**Проблема:** Поиск торрентов не работает в глобальном поиске.
**Решение:** В настройках Lampa включите опцию «Парсер в поиске» (или ''parse_in_search''). Убедитесь, что адрес сервера указан верно (порт 9118, не 9117).
**Проблема:** Не загружаются постеры, метки статусов, не работают уведомления.
**Решение:** Проверьте доступ сервера к ''api.themoviedb.org'' командой ''curl -v https://api.themoviedb.org''. Если соединение блокируется (код 000 или таймаут), потребуется настроить прокси/VPN для контейнера Lampac или для клиента Lampa. При использовании источника Кинопоиска (KP) постеры могут грузиться с серверов Кинопоиска, но сам API Кинопоиска также может быть недоступен без прокси.
**Проблема:** SeriesNotify выдает ''Request timed out''.
**Решение:** Сервер не имеет доступа к Telegram. В текущих условиях модуль неработоспособен. Отключите его в ''init.conf'' (''"enable": false'').
**Проблема:** Плагин ''kp_source.js'' выдает ошибку «Установлен плагин несовместимый с kp_source».
**Решение:** Удалите или отключите другие плагины-источники Кинопоиска (например, ''kinopoisk.js'' от and7ey). Должен быть установлен только один источник Кинопоиска.
===== Заключение =====
Развертывание Lampac на TrueNAS позволяет получить мощный медиасервер с поиском торрентов и интеграцией с клиентом Lampa. Однако сетевая среда (блокировки провайдера) может ограничивать функциональность, связанную с внешними API (TMDB, Telegram). В таких случаях рекомендуется использовать прокси или VPN, либо отключать неработающие модули для поддержания стабильности системы.