Инструменты пользователя

Инструменты сайта


truenas:application:lampa

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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, либо отключать неработающие модули для поддержания стабильности системы.
truenas/application/lampa.1794129892.txt.gz · Последние изменения: 2026/11/08 09:24 — werwolf