Документация: развёртывание на Proxmox LXC 121 (SMB mp0, override-том DLNA)
This commit is contained in:
@@ -185,6 +185,37 @@ dlna/ # медиа/превью DLNA
|
||||
|
||||
Порядок переноса: скопировать файлы → `docker compose up -d` → health-check: `curl "http://localhost:9118/version?type=hash"`. Порт 9118 и пути в compose относительные — правок не требуется.
|
||||
|
||||
## Развёртывание на Proxmox (LXC)
|
||||
|
||||
Постоянный продакшн: LXC-контейнер `121` (`lampac`) на Proxmox `192.168.88.254`, IP контейнера **192.168.88.23** (DHCP).
|
||||
|
||||
| Параметр | Значение |
|
||||
| --- | --- |
|
||||
| Шаблон | `local:vztmpl/debian-13-standard_13.6-1_amd64.tar.zst` |
|
||||
| Тип | **unprivileged**, `features: nesting=1,keyctl=1` (нужно Docker), `onboot: 1` |
|
||||
| Ресурсы | 2 cores / 4096 MB / 32 GB (`local-lvm`), swap 512 |
|
||||
| Сеть | `vmbr0`, DHCP → `192.168.88.23` |
|
||||
| Docker | `docker.io` + compose v2-плагин в `/usr/local/lib/docker/cli-plugins/docker-compose` |
|
||||
| Проект | `/opt/lampac` (rsync с рабочей машины, `.git` не копируется) |
|
||||
| Доступ | SSH по ключу `~/.ssh/id_rsa_prodik` (pubkey в `/root/.ssh/authorized_keys` контейнера) |
|
||||
|
||||
**SMB для DLNA** — `\\10.6.0.1\Torrents`:
|
||||
|
||||
- Монтируется **на хосте Proxmox** в `/mnt/torrents` (fstab, `credentials=/root/.smb_cred`, **umask 600** на креды) и пробрасывается в контейнер как `mp0: /mnt/torrents`.
|
||||
- Причина: unprivileged LXC **не может монтировать cifs сам** — ядро требует `CAP_SYS_ADMIN` в init user namespace (`mount error: Operation not permitted`, не AppArmor).
|
||||
- `uid=101000,gid=101000` в fstab: маппинг LXC `0→100000`, поэтому в контейнере файлы видны как `1000:1000` — приложение (`lampac`, uid 1000) может писать превью в `thumbs/`.
|
||||
- Том подключён через **`docker-compose.override.yml`** (не в git): `services.lampac.volumes: [/mnt/torrents:/lampac/data/dlna]` — базовый `docker-compose.yaml` остаётся с `./dlna`, rsync-обновления его не ломают.
|
||||
|
||||
**Проверка после развёртывания:**
|
||||
|
||||
```bash
|
||||
ssh root@192.168.88.23
|
||||
cd /opt/lampac && docker compose up -d
|
||||
docker ps --filter name=lampac # healthy
|
||||
for u in "/version?type=hash" /online.js /ts/ /dlna /extensions; do
|
||||
curl -s -o /dev/null -w "%{http_code} $u\n" "http://127.0.0.1:9118$u"; done # все 200
|
||||
```
|
||||
|
||||
## Полезные команды
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user