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