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:
@@ -1,7 +1,9 @@
|
||||
# Lampac NextGen — self-hosted backend для Lampa (Docker)
|
||||
# Lampac NextGen — self-hosted backend для Lampa (Docker, Synology NAS)
|
||||
|
||||
Локальное развёртывание **[Lampac NextGen](https://github.com/lampac-nextgen/lampac)** — активного форка оригинального Lampac, чей основной репозиторий больше не поддерживается.
|
||||
|
||||
> **Ветка `synology`** — вариант для Synology NAS: в `docker-compose.yaml` используются **абсолютные пути** томов (`/volume1/docker/lampac/...`), а не относительные, как в ветке `main`.
|
||||
|
||||
## Почему этот форк
|
||||
|
||||
Оригинальный Lampac (`Mirrowol/Lampac`) давно не обновляется. Из форков наибольшую популярность набрал **lampac-nextgen/lampac**:
|
||||
@@ -21,8 +23,8 @@
|
||||
## Структура проекта
|
||||
|
||||
```text
|
||||
Lampac/
|
||||
├── docker-compose.yaml # Единственный compose-файл (порт 9118)
|
||||
/volume1/docker/lampac/ # корень проекта на NAS
|
||||
├── docker-compose.yaml # compose-файл (порт 9118, абсолютные пути томов)
|
||||
├── config/
|
||||
│ ├── init.conf # Конфигурация сервера (JSON, hot-reload)
|
||||
│ └── passwd # Пароль root (СЕКРЕТ, не коммитить)
|
||||
@@ -32,14 +34,25 @@ Lampac/
|
||||
│ ├── Tg-notify.bot/manifest.json
|
||||
│ ├── AdminPanel/manifest.json
|
||||
│ └── LampaWeb/plugins/extensions.json # каталог магазина плагинов (+DLNA)
|
||||
├── cache/ # Кеш (монтируется в /lampac/cache)
|
||||
├── cache/ # Кеш (→ /lampac/cache)
|
||||
├── database/ # SQLite-БД: Sync, TimeCode, SISI (→ /lampac/database)
|
||||
├── dlna/ # Данные DLNA (медиа/превью, → /lampac/data/dlna)
|
||||
├── README.md # Эта документация
|
||||
├── AGENT.md # Инструкции для AI-агента
|
||||
└── .gitignore
|
||||
```
|
||||
|
||||
Тома, заданные в `docker-compose.yaml` (вне репозитория):
|
||||
|
||||
| Путь хоста (NAS) | В контейнере | Доступ |
|
||||
| --- | --- | --- |
|
||||
| `/volume1/docker/lampac/config/passwd` | `/lampac/passwd` | rw |
|
||||
| `/volume1/docker/lampac/config/init.conf` | `/lampac/init.conf` | ro |
|
||||
| `/volume1/docker/lampac/cache` | `/lampac/cache` | rw |
|
||||
| `/volume1/docker/lampac/database` | `/lampac/database` | rw |
|
||||
| `/volume1/docker/lampac/modules/*/...` | `/lampac/module/...` | ro |
|
||||
| `/volume4/Torrents` | `/lampac/data/dlna` | rw — медиа DLNA |
|
||||
| `/volume1/homes/prodik/NAS/Курсы` | `/lampac/data/dlna/Cources` | ro — подпапка внутри DLNA |
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
Требования: Docker 24+ с Compose v2 (проверка: `docker compose version`).
|
||||
@@ -158,11 +171,11 @@ docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Данные (`init.conf`, `passwd`, `cache/`, `database/`, `modules/`, `dlna/`) переживают обновление, т.к. смонтированы томами.
|
||||
Данные (`init.conf`, `passwd`, `cache/`, `database/`, `modules/`) переживают обновление, т.к. смонтированы томами с абсолютными путями NAS.
|
||||
|
||||
## Перенос на другой сервер
|
||||
|
||||
Игнорируемые пути (`.gitignore`): `config/passwd`, `cache/`, `database/`, `dlna/`, `.DS_Store`.
|
||||
Игнорируемые пути (`.gitignore`): `config/passwd`, `cache/`, `database/`, `.DS_Store`.
|
||||
|
||||
**Копировать обязательно:**
|
||||
|
||||
@@ -178,12 +191,11 @@ README.md AGENT.md .gitignore
|
||||
|
||||
```bash
|
||||
database/ # закладки Sync, позиции TimeCode, SISI, библиотека Music
|
||||
dlna/ # медиа/превью DLNA
|
||||
```
|
||||
|
||||
**Не копировать** — регенерируется автоматически: `cache/`, содержимое `/lampac/data` внутри контейнера (GeoLite2, ffmpeg/ffprobe, бинарник TorrServer, Lampa UI).
|
||||
**Не копировать** — регенерируется автоматически: `cache/`, содержимое `/lampac/data` внутри контейнера (GeoLite2, ffmpeg/ffprobe, бинарник TorrServer, Lampa UI). Медиа DLNA лежат на томах NAS (`/volume4/Torrents`, `Курсы`) и копируются отдельно по необходимости.
|
||||
|
||||
Порядок переноса: скопировать файлы → `docker compose up -d` → health-check: `curl "http://localhost:9118/version?type=hash"`. Порт 9118 и пути в compose относительные — правок не требуется.
|
||||
Порядок переноса: скопировать файлы → **в `docker-compose.yaml` заменить абсолютные пути томов на новые** → `docker compose up -d` → health-check: `curl "http://localhost:9118/version?type=hash"`. Порт 9118 менять не обязательно.
|
||||
|
||||
## Полезные команды
|
||||
|
||||
@@ -204,16 +216,19 @@ docker compose pull && docker compose up -d # обновление до све
|
||||
|
||||
## Git-репозиторий
|
||||
|
||||
Код проекта хранится в Gitea: `ssh://git@gitea.prodik.ru:222/prodik/lampac.git` (ветка `main`; ветка `synology` синхронизирована с `main` — содержимое идентично, старый деплой удалён).
|
||||
Код проекта хранится в Gitea: `ssh://git@gitea.prodik.ru:222/prodik/lampac.git`.
|
||||
|
||||
- **`main`** — основная ветка: относительные пути томов (подходит для любого сервера).
|
||||
- **`synology`** (эта ветка) — то же содержимое, но `docker-compose.yaml` адаптирован под Synology NAS: абсолютные пути `/volume1/docker/lampac/...`, тома `/volume4/Torrents` и `Курсы`.
|
||||
|
||||
```bash
|
||||
git remote -v # origin должен указывать на этот репозиторий
|
||||
git add -A # секреты/данные не попадут (.gitignore)
|
||||
git commit -m "описание"
|
||||
git push origin main
|
||||
git push origin synology
|
||||
```
|
||||
|
||||
В git попадают только: `docker-compose.yaml`, `config/init.conf`, `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/` — в `.gitignore`.
|
||||
|
||||
## Ссылки
|
||||
|
||||
|
||||
Reference in New Issue
Block a user