
JellyfinはパッケージセンターのSynoCommunityからインストールしていました。動作が重く感じたり、同期がイマイチだったりしたので、dokerでインストールし直すことにしました。結果、動作や同期に関してはあまり変わらなかったように思います。しかし、共有フォルダ内に「Jellyfin」を作ることにより、データー管理ができるようになりました。その点は大きなメリットと言えます。今回はdokerでのインストール方法・設定ポイントをまとめてみました。
また、Jellyfinの設定方法の記事も更新し、この記事内に「あわせて読みたい」を載せたので一緒にごらんください。
この記事ではSynologyやJellyfinのホームページに掲載されてる「Registry」からのインストール方法を紹介します。
参考にしたサイトは下記になります。こちらも参照してください。
Jellyfinサイト;https://jellyfin.org/docs/general/installation/advanced/synology/
Synologyサイト;https://kb.synology.com/ja-jp/DSM/tutorial/How_to_transfer_video_files_from_Video_Station_to_Jellyfin
インストールから設定までの手順
パッケージセンターから「Container Manager」をインストール
↓
Synology NAS 共有フォルダdokerフォルダ内
「Jellyfin」とサブフォルダ「cache」「config」を作成する
↓
Container Managerの「Registry」からJellyfin/Jellyfinをダウンロード
↓
コンテナの作成(一般設定・ネットワークとポート設定)
↓
リバースプロキシ設定・ポート開放(8096と8092)
↓
接続確認
「Jellyfin」とサブフォルダ「cache」「config」を作成
Container Managerをダウンロードすると共有フォルダに「doker」が作成されます。その中に「Jellyfin」フォルダを作る。さらにその中に「cache」と「config」、2つのサブフォルダを作る。
コンテナの作成
Container Managerをインストールすると、DSMのメインメニューの中にアイコンが作成される。Container Managerを開き、「レジストリ」を検索すると「Jellyfin/Jellyfin」が見つかる。それをダウンロードする。「イメージ」に移動し、jellyfin/jellyfinを選択して実行をクリックします。コンテナ名をJellyfinで入力し、自動再起動を有効にするを選択して、次に進む。ポート設定ではローカルポートフィールドに「8096」を入力する(真ん中の欄に入力;空欄・8096・TCPの並び)。

SynologyとJellyfinホームページの説明ではボリュームの追加は「Synology NAS 上のマルチメディアファイルが保存されているフォルダを選択し、対応するフィールドに「/media」を入力してコンテナのフォルダをマップします。」としか書かれていません。私の場合、動画は「video」のほかに、「Photo」「USBデバイス」「個人フォルダ」にメディアファイルを保存している。それぞれを「/media」を入力すると重複のため、エラーがでる。そこで私は「/media」の代わりに下記のように入力して、うまくいきました。
📁/musicは/music
📁/videoは/video
📁/photoは/photo
📁/USBデバイスは/usb
📁/個人フォルダ内のリモート接続したフォルダ(サブフォルダを選択)は/remote
先ほど作成した「cache」と「config」もボリュームに加えます。
📁/doker/Jellyfin/cacheは/cache
📁/doker/Jellyfin/configは/config
すべて「読み取り/書き込み」可としました。dokerの設定ではフォルダの権限付与はこちらで行うようです。

「ネットワークはHDHomeRun または DLNA を使用している場合は、ホストを選択します。コンテナ内で複数のサービスを実行している場合は、ブリッジを選択します。」と説明されています。私の場合、NASをサーバーとしていて、 NASもその中のJellyfinもDLNA 設定しているので「ホスト」を選択しました。コンテナ内はJellyfinのみです。ホストを選択して進み、設定を完了します。コンテナページに移動してコンテナのステータスを確認できます。Jellyfin のコンテナステータスが緑色のライトを示している場合、コンテナは正常に開始されています。
コンテナ作成後、設定を一部、修正するには「複製」が利用できます。
Container Managerを開き、コンテナ→稼働中のコンテナを右クリックで停止を選択→右クリックで複製を選択→修正(例;ボリュームの追加やブリッジ変更など)→複製を押すと新しいコンテナが作成されます。
※コンテナ名(サーバー名)は変更されますが、共有フォルダの「Jellyfin」のデーターが引き継がれるので、ライブラリも消えずに残っています。ただし、元コンテナに「Jellyfin」フォルダがある場合です。「Jellyfin」フォルダを作り忘れて、新たに「Jellyfin」を作る修正には引き継がれません。
リバースプロキシとポート開放
リバースプロキシとポート開放については下記の記事に書いているのでそちらをご覧ください。また、Jellyfinの設定方法も書いてあるのでインストールが終了し、設定で困ったら読んでみてください。
私の場合、JellyfinをSynoCommunityからインストールして、そのアプリを消す前にdokerを設定したため、ポートが重複してしまったせいか、SynoCommunityのJellyfinアプリを削除したら「ルーターの設定」からポート8096が消えてしまいました。おそらく、初めてdokerでJellyfinをインストールした場合はプロジェクト名でポート8096で存在すると思います。もし、8096が消えてしまった場合、「コントロールパネル」→「外部アクセス」→「ルーターの設定」の作成→≪組み込み式アプリケーション≫ではなく≪カスタムポート≫にして8096を指定して開放する。リバースプロキシを設定したら、8920も開放する。

接続確認
パソコンのブラウザに「http://NASのIPアドレス:8096」あるいは「https://DDNSホスト名:8920」を入力し、Jellyfinアプリが開けばインストール完了です。
共有フォルダ「doker」の権限設定
共有フォルダ「doker」は権限設定しないと、ユーザーすべてに「doker」のフォルダが表示されます。そのため、私は権限で私以外の「ローカルユーザー」を「アクセスなし」に設定しています。
まとめ
以前にdokerで入力を試みてはいましたが、複数のフォルダへの権限付与が分からなくで断念しました。今回、ボリューム追加で「/media」を「/music」「/video」「/photo」「/usb」「/remote」とすることで成功しました。また、共有フォルダに「Jellyfin」フォルダを作ることにより、データー管理がでるようになりました。そのため、バックアップもとれるようになり、修正も容易になりました。この点がdokerによるインストールのメリットだと思います。
(試したことがないので想像にはなりますが、SynoCommunityからインストールしたJellyfinも、権限を与えた個人フォルダに「Jellyfin」フォルダを作って、ダッシュボード内「全般」設定から「cache」と「config」にパスを作れば同じかもしれません。)
Jellyfinにサインインして設定している最中に、たまたま新しいハブが届いてLANケーブルを抜いたら、Jellyfinがエラーで開かなくなりました。あー、やり直しかと思ったのですが、Container Managerを開いてコンテナを確認するとコンテナステータスがグレーになり、停止していました。そこで右クリックで「開始」を選択すると再稼働しました。もし、Jellyfinが開かなくなった場合はコンテナの稼働を確認することをお勧めします。
SynoCommunityからインストールしたJellyfinは、NASのDSMのメインメニューにアイコンが作成される。しかし、リバースプロキシを使用するとアイコンをクリックしてもサインインできない。Synologyに確認したが、これはJellyfin側に仕様なのでNASからは変更できないとのこと。使用できないアイコンはdokerでは作成されないので、この点もdokerがいいのかもしれません。

