テクノロジー · 実用ガイド
Jellyfinの更新後にプレイリストが消えたら、復元前に表示と中身を確認
一覧に出ない、空になった、曲を開けないという症状では対処が違う。証拠を保存してから復旧方法を選ぶ。

Jellyfinの一つの画面からプレイリストが消えても、中身が削除されたとは限らない。同じサーバーとアカウントでWeb版と問題のクライアントを比較し、一覧にないのか、存在するが空なのか、項目はあるが再生できないのかを確かめる。
このガイドは証拠の記録と復旧判断の手順であり、データベース修復スクリプトではない。更新や再起動後の欠落・空リストが対象だ。過去の10.11の報告だけでは現在の環境にも同じ不具合があると判断できず、Jellyfin 12では項目の保存方式も変わっている。
1. 試す前に状態を保存する
変更内容、最後に正常だった時刻、最初の失敗時刻を記録し、起動・移行・スキャン・整理処理のログを非公開で保存する。移行処理が続いている場合は進捗を確認する。Jellyfinは移行中の停止を避けるよう案内しており、症状確認のための再起動を繰り返してはいけない。
移行完了後に公式のバックアップ手順を使う。手動コピーにはサーバーの停止と、実際のデータ・設定ディレクトリの両方が必要だ。現在のコピーを更新前の原本と分け、対応バージョンを記録する。消失後のバックアップは壊れた状態だけを保存している可能性がある。
2. 表示だけの問題か調べる
新しいWebセッションから対象アカウントで同じサーバーに接続し、第三者クライアントと比較する。ライブラリーの絞り込みと接続先も確認する。各リストについて、名前、所有者や共有設定、表示の有無、項目数、項目を開けるかを一行にまとめる。
Web版に期待する項目があり別のクライアントにないなら、まずそのクライアントを調べる。Feishinの保守担当者はプレイリストの応答とJellyfin Web版の比較を勧めたが、自身では報告を再現できなかった。応答をローカルで調べる管理者は、相談時にトークン、Cookie、私的なパスを公開しないようにする。
3. 整理処理より先にストレージを確認
項目があるのに再生できないなら、参照先の正確なファイルをJellyfinが読めるか確認する。コンテナでは実際のマウント設定からホスト側とコンテナ側のパスを記録する。ホストで見えるファイルがコンテナ内の同じ場所にあるとは限らない。公式移行資料も、既存環境をDockerへ移す際のパス一致を求めている。
公式タスク資料は、媒体にアクセスできない状態でコレクションとプレイリストの整理が実行されるとリストを失う可能性があり、通常は起動時に動くと警告する。意図的な再起動や整理の前に安定したアクセスを戻し、設定された起動条件を調べる。一つの条件を無効にしても、消えた項目は戻らず、全スキャン問題の解決にもならない。
4. 実際に残った内容を記録する
稼働中のデータベースを書き換えず、新旧のコピーを調べる。復旧できそうなリストごとに、元のスナップショット、期待する項目数、順番付きの媒体参照を記録する。同じ媒体が繰り返されていれば別々の位置を残す。名前しかない、または読めないファイルは、項目の存続を不明として扱う。
ファイル名が同じという理由で古いSQLやXML手順を使わない。Jellyfin 12は項目を独立したデータベース行に保存し、重複曲も許容する。古いLinkedChildrenの説明は現行方式に一律適用できない。残ったXMLは証拠だが、サーバーがリストや所有者を認識している証明ではない。
5. 証拠に合う復旧方法を選ぶ
クライアントだけの差はクライアント調査、読めないパスはストレージ修復へ進む。項目消失が確認され、正常なバックアップがあるなら、対応するアプリのバージョンと別の作業用コピーで公式復元を試す。本番データと隔離し、元の媒体を書き換えるツールも接続しない。古いサーバーに移行済みの本番データを開かせてはいけない。
一部の証拠しか残らない場合は、確認済みの媒体からサポートされた操作で新しいリストを一つ作り、元の証拠を保持する。所有者IDをゼロにする、データベースを混ぜる、パスを一括置換する操作を万能な修正にしない。所有者、順序、媒体の同一性が不明なら未解決のまま残し、バージョンに即した支援を求める。
6. リスト単位で復旧を検証する
記録と照合し、数だけでなく全項目の順序、重複位置、代表的な再生を確認する。対象ユーザーの表示と編集権限も試す。名前や数が同じでも、違う曲、順序変更、権限問題を見逃せる。新旧の項目IDは照合対象であり、同じ媒体であることの自動的な証明ではない。
媒体が安定して利用できる状態で、管理された再起動と適用リリースが要求するスキャンを行い、結果を確認する。合格まで復旧用コピーを残す。この記事は資料に基づく判断手順であり、実環境でJellyfinを移行・復元したものではない。残存コピーのどこにもない項目を復元することはできない。
