Перенос lampac-docker/* в корень репозитория
- config/, modules/, cache/, database/ теперь в корне - обновлены пути в docker-compose.yaml, .gitignore, README.md, AGENT.md
This commit is contained in:
@@ -23,18 +23,17 @@
|
||||
```text
|
||||
Lampac/
|
||||
├── docker-compose.yaml # Единственный compose-файл (порт 9118)
|
||||
├── lampac-docker/
|
||||
│ ├── config/
|
||||
│ │ ├── init.conf # Конфигурация сервера (JSON, hot-reload)
|
||||
│ │ └── passwd # Пароль root (СЕКРЕТ, не коммитить)
|
||||
│ ├── modules/ # Overridе-файлы, монтируемые поверх файлов образа
|
||||
│ │ ├── Tracks/manifest.json
|
||||
│ │ ├── Music/manifest.json
|
||||
│ │ ├── Tg-notify.bot/manifest.json
|
||||
│ │ ├── AdminPanel/manifest.json
|
||||
│ │ └── LampaWeb/plugins/extensions.json # каталог магазина плагинов (+DLNA)
|
||||
│ ├── cache/ # Кеш (монтируется в /lampac/cache)
|
||||
│ └── database/ # SQLite-БД: Sync, TimeCode, SISI (→ /lampac/database)
|
||||
├── config/
|
||||
│ ├── init.conf # Конфигурация сервера (JSON, hot-reload)
|
||||
│ └── passwd # Пароль root (СЕКРЕТ, не коммитить)
|
||||
├── modules/ # Overridе-файлы, монтируемые поверх файлов образа
|
||||
│ ├── Tracks/manifest.json
|
||||
│ ├── Music/manifest.json
|
||||
│ ├── Tg-notify.bot/manifest.json
|
||||
│ ├── AdminPanel/manifest.json
|
||||
│ └── LampaWeb/plugins/extensions.json # каталог магазина плагинов (+DLNA)
|
||||
├── cache/ # Кеш (монтируется в /lampac/cache)
|
||||
├── database/ # SQLite-БД: Sync, TimeCode, SISI (→ /lampac/database)
|
||||
├── dlna/ # Данные DLNA (медиа/превью, → /lampac/data/dlna)
|
||||
├── README.md # Эта документация
|
||||
├── AGENT.md # Инструкции для AI-агента
|
||||
@@ -75,7 +74,7 @@ docker compose ps
|
||||
|
||||
## Конфигурация
|
||||
|
||||
### `lampac-docker/config/init.conf`
|
||||
### `config/init.conf`
|
||||
|
||||
Основной конфиг (JSON). **Перечитывается автоматически без перезапуска** контейнера (watcher каждую секунду, бэкапы — внутри контейнера в `/lampac/database/backup/init/`). После правки достаточно сохранить файл.
|
||||
|
||||
@@ -103,7 +102,7 @@ docker compose ps
|
||||
**Включены дополнительно к стартовому набору:**
|
||||
|
||||
- `Catalog`, `JacRed`, `Sync` (вместе с `Storage`, `SyncEvents`, `TimeCode`), `TorrServer`, `DLNA`, `SISI` — убраны из `SkipModules`.
|
||||
- `Tracks`, `Music`, `Tg-notify.bot`, `AdminPanel` — включены через manifest-оверрайды в `lampac-docker/modules/*/manifest.json` (в образе у них `enable: false`; файлы монтируются поверх `/lampac/module/<Name>/manifest.json`).
|
||||
- `Tracks`, `Music`, `Tg-notify.bot`, `AdminPanel` — включены через manifest-оверрайды в `modules/*/manifest.json` (в образе у них `enable: false`; файлы монтируются поверх `/lampac/module/<Name>/manifest.json`).
|
||||
|
||||
Чтобы выключить/включить любой другой модуль — добавьте или уберите его имя в `SkipModules` (имя = имя папки в `/lampac/module/`, включая группы вроде `OnlineAnime`). Изменение применяется после `docker compose restart lampac` (SkipModules не hot-reload). Убрать из списка группу `Sync` целиком отключит и `TimeCode`/`Storage`/`SyncEvents`.
|
||||
|
||||
@@ -138,17 +137,17 @@ docker compose ps
|
||||
|
||||
После правки перезагрузите страницу Lampa — `lampainit.js` сам добавит плагин (`Lampa.Plugins.add`) и он появится в Настройки → Плагины (со статусом включён). Ручное добавление по ссылке тоже работает: `http://IP_МАШИНЫ:9118/dlna.js`. Прямой UI модуля — `http://IP_МАШИНЫ:9118/dlna`.
|
||||
|
||||
**В магазине плагинов** (Настройки → Плагины/«Магазин») каталог отдаётся из `/extensions` — файла `LampaWeb/plugins/extensions.json` внутри образа, где DLNA по умолчанию нет. Добавлена запись через override: `lampac-docker/modules/LampaWeb/plugins/extensions.json` (секция «Lampac» в начале каталога) монтируется поверх образного файла. Магазин кешируется (`Staticache`) — после правки этого файла кеш надо сбросить: удалить `lampac-docker/cache/static/63/*` (каталог по хешу URL) или перезапустить контейнер.
|
||||
**В магазине плагинов** (Настройки → Плагины/«Магазин») каталог отдаётся из `/extensions` — файла `LampaWeb/plugins/extensions.json` внутри образа, где DLNA по умолчанию нет. Добавлена запись через override: `modules/LampaWeb/plugins/extensions.json` (секция «Lampac» в начале каталога) монтируется поверх образного файла. Магазин кешируется (`Staticache`) — после правки этого файла кеш надо сбросить: удалить `cache/static/63/*` (каталог по хешу URL) или перезапустить контейнер.
|
||||
|
||||
### AdminPanel
|
||||
|
||||
Веб-админка Lampac: правка `init.conf`/`current.conf`, пользователи `users.json`.
|
||||
|
||||
- Вход: `http://IP_МАШИНЫ:9118/adminpanel/auth` — пароль из `lampac-docker/config/passwd` (cookie `accspasswd`, живёт 180 дней).
|
||||
- Вход: `http://IP_МАШИНЫ:9118/adminpanel/auth` — пароль из `config/passwd` (cookie `accspasswd`, живёт 180 дней).
|
||||
- Панель: `http://IP_МАШИНЫ:9118/adminpanel` (без входа — 302 на страницу auth).
|
||||
- Доступ к админке не открывайте в интернет без защиты — см. README модуля AdminPanel.
|
||||
|
||||
### `lampac-docker/config/passwd`
|
||||
### `config/passwd`
|
||||
|
||||
Пароль учётной записи `root` в одну строку (используется для служебных функций и WebLog). Сгенерирован при установке; для смены отредактируйте файл и перезапустите контейнер: `docker compose restart lampac`.
|
||||
|
||||
@@ -169,20 +168,20 @@ docker compose up -d
|
||||
|
||||
```bash
|
||||
docker-compose.yaml
|
||||
lampac-docker/config/init.conf # вся конфигурация
|
||||
lampac-docker/config/passwd # СЕКРЕТ — переносить вне git (scp/rsync)
|
||||
lampac-docker/modules/ # override-файлы (manifest ×4, extensions.json)
|
||||
config/init.conf # вся конфигурация
|
||||
config/passwd # СЕКРЕТ — переносить вне git (scp/rsync)
|
||||
modules/ # override-файлы (manifest ×4, extensions.json)
|
||||
README.md AGENT.md .gitignore
|
||||
```
|
||||
|
||||
**Копировать по желанию** (данные пользователя, иначе создадутся заново):
|
||||
|
||||
```bash
|
||||
lampac-docker/database/ # закладки Sync, позиции TimeCode, SISI, библиотека Music
|
||||
database/ # закладки Sync, позиции TimeCode, SISI, библиотека Music
|
||||
dlna/ # медиа/превью DLNA
|
||||
```
|
||||
|
||||
**Не копировать** — регенерируется автоматически: `lampac-docker/cache/`, содержимое `/lampac/data` внутри контейнера (GeoLite2, ffmpeg/ffprobe, бинарник TorrServer, Lampa UI).
|
||||
**Не копировать** — регенерируется автоматически: `cache/`, содержимое `/lampac/data` внутри контейнера (GeoLite2, ffmpeg/ffprobe, бинарник TorrServer, Lampa UI).
|
||||
|
||||
Порядок переноса: скопировать файлы → `docker compose up -d` → health-check: `curl "http://localhost:9118/version?type=hash"`. Порт 9118 и пути в compose относительные — правок не требуется.
|
||||
|
||||
@@ -201,7 +200,7 @@ docker compose pull && docker compose up -d # обновление до све
|
||||
|
||||
- Порт 9118 проброшен на все интерфейсы — при выходе в интернет закройте его файрволом или поднимите reverse proxy с аутентификацией. Внутренний порт TorrServer (9085) не проброшен вовсе: он доступен только контейнеру, внешний доступ к TorrServer идёт исключительно через `/ts/` на 9118.
|
||||
- Модули `DLNA`, `Tracks`, `Transcoding`, `GStreamer`, `Catalog` не экранируют входящие запросы — не открывайте их публично без защиты.
|
||||
- `lampac-docker/config/passwd` содержит секрет — файл добавлен в `.gitignore`.
|
||||
- `config/passwd` содержит секрет — файл добавлен в `.gitignore`.
|
||||
|
||||
## Git-репозиторий
|
||||
|
||||
@@ -214,7 +213,7 @@ git commit -m "описание"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
В git попадают только: `docker-compose.yaml`, `lampac-docker/config/init.conf`, `lampac-docker/modules/**`, `README.md`, `AGENT.md`, `.gitignore`. Секреты (`passwd`), `cache/`, `database/`, `dlna/` — в `.gitignore`.
|
||||
В git попадают только: `docker-compose.yaml`, `config/init.conf`, `modules/**`, `README.md`, `AGENT.md`, `.gitignore`. Секреты (`passwd`), `cache/`, `database/`, `dlna/` — в `.gitignore`.
|
||||
|
||||
## Ссылки
|
||||
|
||||
|
||||
Reference in New Issue
Block a user