====== Развертывание 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, либо отключать неработающие модули для поддержания стабильности системы.