不要な書き換えを許可せずにローカルメタデータファイルを設定する方法

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

ローカルのNFOファイルとアートワークを使えばメディアライブラリを持ち運べますが、それらを読み取る同じサーバーに、タイトル、画像、識別子を置き換える権限が与えられている場合もあります。読み取り専用のメディアマウントを使えば誤書き込みを防げますが、サーバーがダウンロードしたサイドカーを保存できる場所は変わります。

権限を変更する前に、各メタデータフィールドの正本を1つに決めてください。整理したサイドカーはバージョン管理またはバックアップし、サーバーのデータベース状態は書き込み可能なままにします。また、更新テストを行い、サーバーがソースファイルを書き換えずに読み取ることを確認してください。アップグレード後やライブラリ全体のメタデータ更新後にも、このテストを繰り返します。

どのメタデータソースを正本にするか決める

ローカルで管理するフィールドを一覧にします。タイトル、ソート用タイトル、エディション、日付、人物、プロバイダーID、ポスター、背景アートなどです。ローカルファイルを正本にする場合は、更新時にそれらのフィールドを上書きする可能性があるプロバイダー更新を無効にするか、制限してください。

ファイル命名規則を採用する前に、インストールしているサーバーファミリーのJellyfin NFOフィールドの動作を確認してください。サポート状況はライブラリの種類によって異なり、明らかに見えるファイル名でも、スキャナーが読み取るファイルとは限りません。

本番ライブラリの外に小さなサンプルディレクトリを用意します。1本の映画またはエピソード、そのNFO、選択したアートワークを含め、何千もの整理済みファイルを危険にさらすことなく、スキャンと更新の動作をテストできるようにします。

読み取り専用のメディアと書き込み可能なサーバー状態を分離する

コンテナ内ではメディアツリーを読み取り専用でマウントし、設定、キャッシュ、データベースのパスは書き込み可能なままにします。読み取り専用バインドマウントなどのコンテナフラグは、リリースによって意味が変わる可能性のあるアプリケーションのチェックボックスに頼るより強力です。

サーバーがメディアの隣に新しいアートワークをダウンロードする必要がある場合、ライブラリ全体を読み取り専用にする運用とは両立しません。代わりにダウンロードしたメタデータをアプリケーションの状態領域に保存するか、サーバープロセスの外部でサイドカーを書き込む、制御されたステージングジョブを使用してください。

マウント構成をデプロイ記録の一部として扱います。Jellyfinコンテナのアップグレードチェックリストを使うと、再作成時にメディア、メタデータ、アプリケーション状態の区別を維持できます。

整理方針と競合する書き戻し経路を無効にする

メディアフォルダーを外部で管理している場合は、アートワークやNFOメタデータをメディアフォルダーに保存するオプションを無効にします。ライブラリごとのメタデータ保存設定も確認してください。書き込みを有効にする場所は、グローバル設定だけとは限りません。

正しいマウントの代わりにコンテナ全体のファイルシステムを読み取り専用にしないでください。ただし、必要なすべての書き込み可能パスを明示的に用意している場合は除きます。データベース、ログ、プラグイン、一時ファイルには、制御された書き込み可能な場所が引き続き必要です。

サンプルNFOと画像のファイルハッシュまたは更新日時を記録し、ライブラリスキャンを実行してから、UIでタイトルを編集し、メタデータ更新を実行します。アプリケーションが許可されたローカル状態をデータベースに記録している間も、ファイルは変更されないはずです。

復元とアップグレードの動作を確認する

整理したサイドカーを、メディアサーバーのデータベースとは別にエクスポートまたはバックアップします。サイドカーは表示用メタデータを復元しますが、データベースには、視聴状態、ユーザー、コレクション、その他ローカルファイルでは補えない情報が残っている場合があります。

テスト時間を確保してコンテナを再作成し、読み取り専用マウントのフラグがデプロイプロセス後も維持されることを確認します。次にサンプルディレクトリをスキャンし、ハッシュを再度比較します。アップグレードによって新しいメタデータ保存機能が追加されたり、デフォルト設定が変わったりする可能性があるためです。

最後の停止基準は単純です。意図した結果を維持するために更新で書き込みアクセスが必要になるなら、正本の設計は未解決です。サンプルを復元し、本番環境は読み取り専用にしたうえで、そのフィールドをサーバーと外部の管理側のどちらが所有するかを決めてください。

サポートとヒント

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.