Jellyfin Docker Composeビルダー
Jellyfin用のcompose.yamlを作成します。公式イメージまたはLinuxServer.ioイメージ、ポートとネットワーク、メディアフォルダー、Intel・AMD・NVIDIAのハードウェアアクセラレーションを選択すると、そのまま実行できるファイルを取得できます。
入力
出力
- コンテナーでの Jellyfin の実行は Linux でのみサポートされています。Windows と macOS では、Jellyfin をネイティブにインストールしてください。
Readme
Jellyfinとは?
Jellyfinは、無料で利用できるオープンソースのメディアサーバーです。映画、番組、音楽、写真をブラウザー、スマートフォン、テレビ、その他のデバイスにストリーミングでき、動画をリアルタイムでトランスコードすることもできます。プロジェクトでは公式イメージ jellyfin/jellyfin が提供されており、ghcr.io/jellyfin/jellyfin としても公開されています。LinuxServer.ioプロジェクトでは、独自のフォルダーと変数を使用する別のイメージ lscr.io/linuxserver/jellyfin が提供されています。
ツールの説明
このツールは、プロジェクトのインストールガイドに基づいてJellyfin用の compose.yaml を作成します。イメージとタグ、ポートとネットワーク、ユーザー、設定とcache用のフォルダー、さらに読み取り専用にできる任意の数のメディアフォルダーを選択できます。公式イメージでは、カスタムフォントとフォールバックフォント用のフォルダーもマウントできます。グラフィックカードについては、Jellyfinのドキュメントで説明されている設定を追加します。IntelおよびAMDでは /dev/dri とrenderグループ、NVIDIAではNVIDIA runtimeとGPU予約を追加します。user の代わりに PUID、PGID、TZ を使用するLinuxServer.ioイメージを選択すると、ファイルの内容も変更されます。すべての処理はブラウザー上で完了します。
機能
- Docker HubまたはGitHub Container Registryの公式イメージ、あるいはLinuxServer.ioのイメージ(任意のタグに対応)
- ポート8096および7359/udp、任意のHTTPSポート8920、バインドアドレスを使用するbridgeモード、またはDLNAで必要なhostモード
- サーバーを検出するクライアント向けの公開サーバーURL
- 公式イメージ用の
uid:gid形式のユーザー、またはLinuxServer.io用のPUID、PGID、タイムゾーン - ホスト上または名前付きDocker volume内の設定とcache(必要な宣言は自動的に追加)
- 複数のメディアフォルダー。それぞれコンテナ内のパスと、読み取り専用でマウントするオプションを指定可能
- トランスコード中に焼き込まれる字幕用のカスタムフォントとフォールバックフォント
- IntelおよびAMD向けのVA-APIまたはQSV、NVIDIA向けのNVENCによるハードウェアアクセラレーション
- その他の任意の環境変数、ファイルの内容を説明するコメント、
compose.yamlとしてのダウンロード
例
デフォルト設定では、ファイルと同じ場所にフォルダーを配置した、Jellyfinのドキュメントにある例が作成されます。
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
ports:
- "8096:8096"
- "7359:7359/udp"
volumes:
- ./config:/config
- ./cache:/cache
- /path/to/media:/media
restart: unless-stoppedNVIDIAのハードウェアアクセラレーションを選択すると、runtimeとGPU予約が追加されます。
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpuヒント
- 結果を
compose.yamlとして保存し、docker compose up -dで起動します。その後http://localhost:8096を開き、コンテナ内のパスを使用してメディアフォルダーをライブラリとして追加します - コンテナでのJellyfinの実行がサポートされているのはLinuxのみです。WindowsとmacOSでは、ハードウェアアクセラレーションとライブラリのスキャンがコンテナ内で正常に動作しないことが知られているため、Jellyfinをネイティブにインストールしてください
getent group render | cut -d: -f3を使用して、ホスト上のrenderグループのIDを確認します。一部のシステムでは、グループ名がvideoまたはinputになっています- NVIDIAの場合は、まずホストにNVIDIAドライバーとNVIDIA Container Toolkitをインストールします
- コンテナでハードウェアアクセラレーションを有効にした後、Jellyfinのダッシュボードで「再生」→「トランスコード」に移動し、機能を有効にします
- DLNAはプラグインであり、hostモードが必要です。検出に使用する1900/udpポートのブロードキャストはbridgeを越えられないためです
- 公式プロジェクトとLinuxServer.ioのイメージでは、データの保存場所が異なるため、既存のフォルダーで一方をもう一方に置き換えることはできません
- Jellyfinが変更する必要のないメディアは、読み取り専用でマウントしてください