synology: compose на абсолютные пути NAS + адаптация README/AGENT

- docker-compose.yaml: /volume1/docker/lampac/... (данные), /volume4/Torrents (DLNA), Курсы -> dlna/Cources:ro
- README/AGENT: описание ветки synology, таблица томов NAS, инструкции переноса
- мерж main (разрешение конфликтов документации)
This commit is contained in:
2026-10-01 16:38:13 +03:00
3 changed files with 51 additions and 33 deletions
+8 -6
View File
@@ -2,29 +2,30 @@
## О проекте
Это **deployment-репозиторий** для локального развёртывания Lampac NextGen (активный форк заброшенного Lampac) в Docker на этой машине. Исходники форка сюда не клонируются — используется официальный образ `ghcr.io/lampac-nextgen/lampac`.
Это **deployment-репозиторий** для локального развёртывания Lampac NextGen (активный форк заброшенного Lampac) в Docker на **Synology NAS**. Исходники форка сюда не клонируются — используется официальный образ `ghcr.io/lampac-nextgen/lampac`.
**Ветка `synology` (текущая)** — как `main`, но `docker-compose.yaml` с **абсолютными путями томов NAS**: `/volume1/docker/lampac/...` (данные проекта), `/volume4/Torrents` (медиа DLNA), `/volume1/homes/prodik/NAS/Курсы` → `/lampac/data/dlna/Cources:ro`. Локального каталога `dlna/` в репо нет — медиа живут на томах.
- Форк: https://github.com/lampac-nextgen/lampac (347+ звёзд, ежедневные коммиты, релизы)
- Документация: https://docs.lampac.dev
- Образ: `ghcr.io/lampac-nextgen/lampac:latest` (multi-arch: amd64/arm64)
- Порт: **9118**, рабочая директория в контейнере: `/lampac`
- Последняя задеплоенная версия: `1.61.2` (при установке 01.10.2026)
- Git: `ssh://git@gitea.prodik.ru:222/prodik/lampac.git`, основная ветка **main**; ветка `synology` — синхронизирована с `main` (содержимое идентично, старый деплой удалён), работать в `main`; remote настроен как `origin`
- Коммиты: `git add -A && git commit && git push origin main` — секреты/данные отсекает `.gitignore`; в git идут только compose, `init.conf`, `modules/`, доки, `.gitignore`
- Git: `ssh://git@gitea.prodik.ru:222/prodik/lampac.git`, ветка **synology** (эта); `main` — то же самое с относительными путями томов; remote настроен как `origin`
- Коммиты: `git add -A && git commit && git push origin synology` — секреты/данные отсекает `.gitignore`; в git идут только compose, `init.conf`, `modules/`, доки, `.gitignore`
## Файлы
| Файл | Назначение | Правила |
| --- | --- | --- |
| `docker-compose.yaml` | Единственный compose-файл | тома обязательны; фиксированной сети/subnet нет (дефолтная сеть compose) |
| `docker-compose.yaml` | Единственный compose-файл | **абсолютные пути томов NAS** (`/volume1/docker/lampac/...`, `/volume4/Torrents`, `Курсы`); фиксированной сети/subnet нет (дефолтная сеть compose) |
| `config/init.conf` | Конфиг сервера (JSON) | hot-reload для большинства ключей (кроме `BaseModule.SkipModules` — нужен рестарт); строго валидный JSON |
| `config/passwd` | Пароль root, **секрет** | не выводить в чат/логи/коммиты, в `.gitignore` |
| `modules/*/manifest.json` | Manifest-оверрайды (`enable: true`) | монтируются поверх `/lampac/module/<Name>/manifest.json`; для модулей, у которых в образе `enable: false` (сейчас: `Tracks`, `Music`, `Tg-notify.bot`, `AdminPanel`) |
| `modules/LampaWeb/plugins/extensions.json` | Каталог магазина плагинов (`/extensions`) | override образного файла, добавлена секция «Lampac» (DLNA); после правки сбросить кеш `cache/static/63/` |
| `cache/` | Кеш | монтируется в `/lampac/cache` |
| `database/` | SQLite-БД (Sync, TimeCode, SISI) | монтируется в `/lampac/database`, не удалять |
| `dlna/` | Медиа/превью DLNA | монтируется в `/lampac/data/dlna`, не удалять |
| `.gitignore` | Игнорируемые пути | в игноре: `config/passwd` (секрет), `cache/`, `database/`, `dlna/`, `.DS_Store`; остальное (init.conf, modules/, compose, доки) — переносимое |
| `.gitignore` | Игнорируемые пути | в игноре: `config/passwd` (секрет), `cache/`, `database/`, `.DS_Store`; остальное (init.conf, modules/, compose, доки) — переносимое |
| `README.md` / `AGENT.md` | Документация | обновлять при любых изменениях развёртывания |
## Основные команды
@@ -75,6 +76,7 @@ curl -fsS -o /dev/null -w '%{http_code}\n' http://localhost:9118/online.js # о
## Troubleshooting
- **Контейнер нестабилен / Chromium падает** — проверить `shm_size: 1024mb` в compose (обязательно для Playwright).
- **Пути томов** — в этой ветке compose использует абсолютные пути NAS (`/volume1/docker/lampac/...`, `/volume4/Torrents`); при переносе на другой хост их обязательно заменить. Относительные пути — в ветке `main`.
- **Не стартует после правки init.conf** — проверить JSON: `python3 -m json.tool config/init.conf`; бэкапы в `/lampac/database/backup/init/`.
- **Модуль не загрузился** — смотреть `docker compose logs lampac | grep -E "skip compilation|loaded module"`; для модулей с `enable: false` в образе проверить manifest-оверрайд и его монтирование в compose.
- **Tg-notify молчит** — нужен `bot_token` в секции `TelegramBot` init.conf (без него long polling не стартует, в логе предупреждение).