家族で共有するJellyfinサーバーの設計図

Eva Wong は テクニカルライター であり、 生粋の技術好き としてZimaSpaceで活動しています。ホームラボやオープンソースソフトウェア をこよなく愛する生粋のギークで、複雑な技術概念をわかりやすく、実践的なガイド にまとめることを得意としています。Evaは、セルフホスティングは難しいものではなく、楽しむものだと考えています。チュートリアルを通じて、初めてのNAS構築からDockerコンテナの使いこなしまで、コミュニティがハードウェアのセットアップをわかりやすく理解できるよう 支援しています。、初めてのNAS構築からDockerコンテナの習得まで。

複数人で使う家庭のJellyfinサーバーでは、ベンチマーク重視のハードウェア選びより、安定した再生、ユーザーごとのアカウント、静かに常時稼働するストレージ、障害からの復旧を優先しましょう。

一般的な家庭では、常時利用できることと、時間帯によって変動する需要が混在します。夜のテレビ再生、時折使うスマートフォンやブラウザー、新しいメディアのスキャン、バックアップ、場合によってはリモートストリーミングなどです。こうした繰り返し発生する利用状況を基にシステムを構築しましょう。実際のクライアントやバックグラウンド処理が限界に達する部分にだけ、サーバーの処理能力が必要です。それ以外では、使われない余裕を持たせるより、シンプルで復旧しやすい構成のほうが重要です。

購入や移行の前に、家庭での負荷を洗い出す

サーバーを使う人、重要な部屋やデバイス、同時視聴が最も多くなりそうな時間帯、自動実行するワークフローをリストアップしましょう。ライブラリのスキャン、サムネイルの生成、バックアップ、ダウンロード、同じホストを共有するその他のコンテナも含めます。

「4人」をそのまま「4つのトランスコード」に置き換えて考えないでください。4台の新しいクライアントでほぼすべてをダイレクト再生できる家庭もあれば、ブラウザー1台と、繰り返し変換を必要とするリモート接続のテレビ1台がある家庭もあります。目安にすべきなのは、それぞれのクライアントとファイルの組み合わせによって生じる再生経路です。

導入の基準として、Jellyfinのハードウェア要件ページでは、固定の同時ストリーム数を約束することなく、公式のガイダンスをクライアント、ストレージ、ネットワーク、アクセラレーションの確認項目に落とし込んでいます。

状態や権限を個別にするなら、一人ずつプロフィールを作成する

家族それぞれに視聴履歴、お気に入り、ライブラリの表示範囲、再生制限、リモートアクセス権を個別に設定したい場合は、ユーザーアカウントを分けましょう。共有アカウントのほうが簡単なのは、全員がまったく同じ状態と権限を望む場合に限られます。

管理者の認証情報は、日常の再生用とは分けておきましょう。ライブラリ、プラグイン、ネットワーク、ユーザーの変更に使うアカウントを、共有されたり更新頻度が低かったりするテレビすべてにログインさせる必要はありません。

アクセス権はサーバーのダッシュボードだけでなく、クライアントからもテストしましょう。子ども用、一般の大人用、管理者用の各プロフィールで、実際に使うデバイスから意図したライブラリや機能を利用できて初めて、家庭向けの設定は完成です。

リビングでのダイレクト再生を最適化する

リビングのクライアントは最も頻繁に使われる経路になりがちなので、安定した動作を目指しましょう。安定した有線接続、または電波状態の良いローカルネットワークを利用し、可能であれば互換性のあるメディア形式を選び、ライブラリでよく使うコーデックや字幕形式に対応した再生デバイスを使いましょう。

Jellyfinのトランスコードの動作はクライアント主導です。サーバーは、プレーヤーから送られる対応能力のプロファイルと制約に応じて動作します。そのため、汎用CPUの処理能力を増やすより、よく使われるクライアントの再生経路を改善するほうが、サーバーの負荷を大きく減らせる場合があります。

サーバー自体はイーサネットに接続しましょう。テレビがWi-Fi接続でも、経路上の無線区間を1つに抑えられ、両端が変動するWi-Fi環境をめぐって競合することがなくなります。

騒音の大きい大容量ストレージと、低遅延が求められるデータを別々の役割に分ける

家庭用サーバーは1日の大半をアイドル状態か軽い負荷で稼働するため、動作音やバックグラウンドでのディスク動作が重要です。大容量HDDはメディア保存にコスト効率が良い一方、メタデータの閲覧やデータベースにはSSDの応答速度が役立ちます。また、小さなランダム読み取りのために容量重視のディスクを毎回スピンアップさせる必要もありません。

Jellyfinは、ファイルへのランダムアクセスが発生するため、自身のファイルにはSSDを推奨しています。一方、大容量のメディアファイルへのアクセスは主にシーケンシャルです。ZimaSpaceのメタデータ配置ガイドでは、アプリのデータベース、移行可能なサイドカーファイル、アートワーク、再生成可能なプレビューを、復旧時の重要度に応じてさらに分けています。

サーバーが居住空間の近くにある場合は、ハードウェアを追加する前に、負荷の高いインポートやバックアップを主な視聴時間帯以外にスケジュールしましょう。ワークロードの実行時間を変えるだけで、構成を変えずに競合や騒音を解消できることがあります。

家庭で無理なく維持できるリモートアクセスの境界を決める

リモートストリーミングを必要とする人がいなければ、Jellyfinをローカルネットワーク内にとどめ、外部に公開するリスクや帯域幅の計画が必要になる要因を丸ごとなくしましょう。リモート利用が必要なら、VPNや、HTTPSを適切に設定したリバースプロキシなど、明確な接続方法を1つ選びましょう。

Jellyfinのネットワークガイドでは、インターネットへの直接のポートフォワーディングは推奨されておらず、リバースプロキシとVPNの方法が説明されています。また、ユーザーごとにリモートアクセスを有効または無効にできるため、家庭内の一部のメンバーだけが必要とする場合に便利です。

リモートURL、証明書またはVPNの管理者、復旧手順を記録しておきましょう。誰か1人が文書化されていないルーター設定を覚えているおかげでしか使えないリモート接続は、家庭で長く使えるサービスとは言えません。

シンプルな拡張ルールを使う: 家庭内のワークフローに支障が出た場合にのみ役割を追加する

コンピューティング、ストレージ、バックアップのニーズを満たせるなら、まずは仕組みを十分に把握したサーバー1台から始めましょう。ドライブの拡張上限、バックアップ時間帯が再生に与える影響、GPUの配置、ピーク時に別のアプリがJellyfinと競合するといった具体的な問題が生じたら、後から役割を分けましょう。

ZimaBoard 2のようなコンパクトなコンピューティングノードは、役割を分担する設計でアプリサーバーの役割を担い、より大きなマルチベイシステムはストレージの役割を担えます。判断は、Jellyfinを使う家庭なら必ず2台必要という決まりではなく、ワークロードの構成に基づいて行いましょう。

最後に、1つの障害を想定してリハーサルします。Jellyfinの状態を復元し、メディアのパスを再接続して、一般ユーザーが再生を再開できることを確認します。この復旧が成功し、家庭内のピーク時の利用もスムーズなら、この設計案は停止条件に達したことになります。

NASとサーバーのセットアップ

続きを読む

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.