Skip to main content
Lampac NextGen распространяется как готовый Docker-образ ghcr.io/lampac-nextgen/lampac. С помощью docker-compose.yaml вы развернете сервер за несколько минут, сохранив конфигурацию, кеш и базы данных на хосте. Эта страница описывает полный путь от клонирования репозитория до запуска контейнера в production.
1

Клонируйте репозиторий

2

Создайте директории для данных

3

Скопируйте пример конфигурации

Отредактируйте init.conf под свои нужды. Рабочая директория внутри контейнера — /lampac, поэтому файлы читаются из ее корня, а не из подкаталога config/.
4

Создайте файл пароля root

Пароль root требуется для служебных функций и доступа к WebLog.
5

Раскомментируйте тома в compose-файле

Откройте docker-compose.yaml и уберите символ # у блока volumes. По умолчанию все тома закомментированы, и контейнер стартует с init.conf и passwd из образа.
6

Запустите контейнер

Сервер станет доступен на порту 9118.

Тома

Ниже перечислены все шесть томов, которые можно смонтировать между хостом и контейнером. Первые два обязательны для сохранения конфигурации и пароля между перезапусками.
По умолчанию все тома в docker-compose.yaml закомментированы. Контейнер запустится, но изменения конфигурации и пароля не сохранятся после пересоздания контейнера. Раскомментируйте нужные строки перед первым запуском в production.

Сеть

По умолчанию compose-файл использует bridge-сеть с фиксированным IP-адресом контейнера 10.10.10.10. Если вам нужен host-режим (например, для DLNA или UPnP), раскомментируйте строку network_mode: host и убедитесь, что блоки ports и networks не конфликтуют друг с другом.

Минимальный пример сервиса

Если вы хотите собрать собственный docker-compose.yaml с нуля, достаточно следующего блока:
Укажите shm_size: 1024mb или больше, если планируете использовать Playwright (Chromium/Firefox). Браузеры активно используют shared memory, и стандартного 64 МБ может не хватить.

Управление модулями в Docker

Состав загружаемых модулей определяется двумя механизмами:
  1. BaseModule.SkipModules в init.conf — список имен модулей, которые не загружаются даже при наличии кода в образе.
  2. manifest.json в каталоге модуля — ключ "enable": true|false. Часть модулей, например AdminPanel и ExternalBind, поставляются с "enable": false.
Чтобы включить выключенный модуль без пересборки образа, скопируйте его каталог, отредактируйте manifest.json и смонтируйте в /lampac/module/<Name>/ (штатный путь) или /lampac/mods/<Name>/ (пользовательский). При следующем старте контейнера Roslyn скомпилирует модуль автоматически.