[2026-09-20] eagle: family/how-to/router-bishkek-asus.md personal/tech/jellyfin-db-schema-mismatch.md

This commit is contained in:
Alexey Martemyanov committed 2026-09-20 17:09:23 +06:00
1 parent 92a637ccf9
commit fe19897908
2 files changed
+55 -2

No files matched your search

+13 -2
View File
@@ -1,7 +1,7 @@
# Jellyfin: сервер старше БД — `no such column: p.Permission_Permissions_Guid`
> **Обнаружено:** 2026-09-20 на Kraken (RPi5/OMV, arm64, Docker).
> **Статус:** 🔴 **НЕ ЗАФИКСИРОВАНО** — диагноз подтверждён, фикс согласован, ждёт апрува Alex.
> **Статус:** ✅ **ЗАФИКСИРОВАНО 2026-09-20** — контейнер пересоздан на образе 12.1.0.0, jellyfin `healthy`, Alex подтвердил «Заработало». См. раздел «Результат» ниже.
> **Симптом:** `jellyfin` не подключается (`http://kraken:8096` → **503**), контейнер `Up` но `unhealthy`, health-check бесконечно пишет `Server is could not complete startup. Check logs.`
> **Связанные:** [[personal/tech/docker-data-root-mount-race]], [[family/how-to/kraken-access]], [[family/plans/kraken-backup-to-truenas]]
@@ -71,7 +71,7 @@ scp kraken:/tmp/jf.db /Users/admin/kraken-recovery/jellyfin-db/jellyfin.db
**Питфолл тега `latest`:** `docker inspect` показывает digest, откуда образ БЫЛ СКАЧАН, а не текущий `latest`. Локальный «latest» может быть сильно старше, чем `latest` в реестре. Проверять версию **внутри образа**: `docker run --rm --entrypoint sh jellyfin/jellyfin:latest -c '/jellyfin/jellyfin --version'`.
## Фикс (согласован с Alex, ЖДЁТ ВЫПОЛНЕНИЯ)
## Фикс (ВЫПОЛНЕН 2026-09-20)
**Миграцию вручную запустить НЕЛЬЗЯ и не нужно** — миграции уже применены (до 12.1.0.0), запускать нечего; даунгрейд схемы EF Core не поддерживает. Проблема не в БД, а в **образе контейнера**.
@@ -94,6 +94,17 @@ ssh kraken 'docker exec jellyfin sh -c "curl -s -o /dev/null -w \"%{http_code}\n
**Риск:** низкий. Данные (`/config`) не трогаются, пересоздаётся только контейнер. Бэкап БД обязателен — откатываться больше некуда.
## ✅ Результат (2026-09-20)
| Шаг | Факт |
|---|---|
| Бэкап БД | `/home/kraken/backups/jellyfin-recreate-20260920-165750/` — `jellyfin.db` (24.5 МБ) + `-wal` + `-shm` |
| Пересоздание | `docker compose up -d --force-recreate` → `Container jellyfin Recreated / Started`, rc=0 |
| Статус через 15 с | **`Up 15 seconds (healthy)`** — сразу healthy, без периода `starting` |
| Подтверждение Alex | «Заработало» |
> Контейнер теперь работает на образе `jellyfin/jellyfin:latest` = **12.1.0.0**, что согласовано с версией БД. Проблема `no such column` закрыта.
**Compose jellyfin** (`/srv/.../docker/jellyfin/docker-compose.yml`):
```yaml
image: jellyfin/jellyfin # без тега = latest