パッケージ版のJellyfinを作ってみたが、コンテナ版にした。理由は、パッケージ版は非公式パッケージで専用のディレクトリにファイルを作るのでバックアップとかが面倒。コンテナ版だとファイルを見えるところに作ってくれる、特にバックアップがしやすいし、必要なパッケージも入っている。さらに、バージョンアップもイメージのタグを変更して上げ直せばすぐ終わる。Watchtowerで自動化しているので、気がついたら上がっているはずけど。
コンテナって便利なんだけど、インフラ系の人からすると苦手かもしれない。理由は動かすアプリのことを考えないから。こういう「動かすアプリ」があるとぐっと理解が進むと思うんだが。
閑話休題
Container Stationでの設定は、以下。以下に注意をする。
- パッケージ版から移行する場合は、事前にパッケージ版のJellyfinを止めておく。
- PublishedServerUrl=http://<QNAPのURL>
- 記載しているパスはQNAPのリアルパス (DockerのVolumeを利用しない主義なので)
- 設定ファイルなど:例:/share/Share/docker/jellyfin/ (事前に作っておく)
- Jellyfinに読み込ませるデータのフォルダ:例:/share/Media/
- 複数登録するのもあり。
Container Stationで、アプリケーションを開き、以下のようなYamlを貼り付けて起動させる。入力したら、Validationをかけておくことを忘れずに。
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
network_mode: “host”
devices:
- /dev/dri:/dev/dri
environment:
- TZ=Asia/Tokyo
- JELLYFIN_PublishedServerUrl=http://<QNAPのFQDNあるいはIPアドレス>
volumes:
- /share/Share/docker/jellyfin/config:/config
- /share/Share/docker/jellyfin/cache:/cache
- type: bind
source: /share/Media/TVProgram
target: /TVProgram
read_only: true
- type: bind
source: /share/Media/Movie
target: /Movie
read_only: true
restart: unless-stopped
しばらくしたら、Jellyfinが立ち上がるが、前にパッケージ版のJellyfinを動かしていた場合、ブラウザのサイトデータを削除しておく必要がある。設定の場所を毎回探すので、以下にキャプチャーをつけておく。(これをしないと、前の設定で接続をしようとしてしまう。また、この設定を探すのは毎回苦労する。)以下から、前のJellyfinが動いていたドメインあるいはFQDNのデータを削除する。
Safariの場合
設定のPrivacyタブー>Manage Website Data
Chromeの場合
設定ー>Privacy and securityー>site settingsー>view permissions and data stored across site
その後、http://<QNAPのFQDNあるいはIPアドレス(yamlで指定した文字列)>:8096へアクセスをする。
うまく動いたら、パッケージ版のjellyfinをアンインストールして
ls /share/CACHEDEV1_DATA/.qpkg/
jellyfinが削除されていることを確認する。
最後に、アクセラレーションの設定を適用して完了。
https://www.blog.slow-fire.net/2025/06/01/qnap-ts-464でjellyfinを動かす場合のハードウェアアクセラレー/