Linux Mint 22、21、20 に Jellyfin メディア サーバーをインストールする方法

Jellyfin は、メディア コレクションをシームレスに管理およびストリーミングできる強力なオープン ソース メディア サーバーです。幅広いメディア形式をサポートし、ライブ TV サポート、DVR 機能、広範なメタデータ管理などの機能を提供します。Jellyfin は、さまざまなデバイス向けの直感的な Web ベースのインターフェイスとアプリケーションを提供し、どこからでもメディアにアクセスできるようにします。

Linux Mint 22、21、または 20 に Jellyfin をインストールするには、最新の安定ビルドと開発ビルドを含む Jellyfin の公式 APT リポジトリを使用できます。このガイドでは、コマンドライン ターミナルを使用したインストール プロセスについて説明します。

Jellyfin メディアサーバーのインストール前に Linux Mint を更新する

Linux Mint オペレーティング システムに Jellyfin Media サーバーをインストールする前に、すべてのパッケージが最新であることを確認することが重要です。オペレーティング システムを更新すると、現在のすべてのパッケージが最新になり、Jellyfin との互換性の問題を防ぐことができます。

Linux Mint オペレーティング システムを更新するには、ターミナルを開いて次のコマンドを実行します。

sudo apt update && sudo apt upgrade

このコマンドは、システム上のすべてのパッケージを最新バージョンに更新し、システムが最新の状態であることを保証します。

Jellyfin メディアサーバーに必要なパッケージをインストールする

Linux Mint オペレーティング システムを更新した後、Jellyfin Media サーバーをインストールするために必要なパッケージをインストールする必要があります。必要なパッケージは、Linux Mint のディストリビューションとバージョンによって異なる場合があります。

必要なパッケージをインストールするには、ターミナルを開いて次のコマンドを実行します。

sudo apt install software-properties-common apt-transport-https ca-certificates curl

このコマンドは、apt-transport-https、ca-certificates、gnupg2、curl などの必要なパッケージをインストールします。

Jellyfin メディアサーバーの GPG キーをインポートする

Linux Mint に Jellyfin Media Server をインストールするには、ソフトウェアがデフォルトのリポジトリにないため、Jellyfin GPG キーとリポジトリをインポートします。このアクションにより、パッケージの信頼性と整合性が検証されます。

まず、ターミナルで次のコマンドを実行して GPG キーをインポートします。

curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jellyfin.gpg > /dev/null

このコマンドは、Jellyfin Web サイトから GPG キーをダウンロードし、それをシステムのキーリングに追加して、インストール中にパッケージの信頼性を検証できるようにします。

Jellyfin Media Server APT リポジトリをインポートする

次に、安定版または不安定版の Jellyfin リポジトリをインポートします。徹底したテストと実証済みの安定性のため、ほとんどのユーザーには安定版リポジトリをお勧めします。次のコマンドのいずれかを使用して、安定版リポジトリをインポートします。

JellyFin 安定リポジトリをインポートします:

Linux Mint 22 ディストリビューション シリーズ用の JellyFin Media Server 安定版を追加します。

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Linux Mint 21 ディストリビューション シリーズ用の JellyFin Media Server 安定版を追加します。

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Linux Mint 20 ディストリビューション シリーズ用の JellyFin Media Server 安定版を追加します。

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

注意: 特定のバージョンの Linux Mint に適切なリポジトリをインポートすることが重要です。間違ったリポジトリをインポートすると、Jellyfin が正しくインストールされなかったり、期待どおりに機能しなかったりする可能性があります。

JellyFin 不安定リポジトリ Linux Mint をインポートします。

あるいは、以下のコマンドを使用して不安定なリポジトリをインポートすることもできます。

Linux Mint 22 ディストリビューション シリーズ用の JellyFin Media Server 不安定版をインポートします。

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Linux Mint 21 ディストリビューション シリーズ用の JellyFin Media Server 不安定版をインポートします。

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Linux Mint 20 ディストリビューション シリーズ用の JellyFin Media Server 不安定版をインポートします。

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

新しいソフトウェア リポジトリを追加したら、システムのリポジトリ リストを更新して、新しい追加を認識できるようにする必要があります。これを行うには、ターミナルで次のコマンドを実行します。

sudo apt update

sudo apt update コマンドを実行すると、システムのリポジトリ リストが更新され、新しく追加されたリポジトリが含まれます。この更新により、Linux Mint は新しいリポジトリとそのコンテンツを認識できるようになり、システムに Jellyfin Media Server をインストールできるようになります。

APTコマンドでJellyfinメディアサーバーのインストールを完了する

Jellyfin リポジトリと GPG キーをインポートしたら、Linux Mint システムにメディア サーバーをインストールします。以下のコマンドで効率的にインストールを完了します。

sudo apt install jellyfin

インストールが完了すると、Jellyfin サービスが自動的に起動します。次のコマンドを使用して、Jellyfin サービスのステータスを確認します。

systemctl status jellyfin

何らかの理由で Jellyfin サービスが起動しない場合は、次のコマンドを使用して手動で起動できます。

sudo systemctl start jellyfin

システムの起動時に Jellyfin サービスが自動的に開始されるようにするには、次のコマンドを実行します。

sudo systemctl enable jellyfin

これらのコマンドは Jellyfin サービスを開始し、システムの起動時に自動的に起動できるようにします。

Jellyfin メディアサーバーの初期設定

Jellyfin Web UI にアクセスするには、インターネット ブラウザーを開いて、サーバーの IP アドレスを入力し、その後にデフォルトのポート 8096 を入力する必要があります。インストールされている同じマシン上の Jellyfin サーバーにアクセスする場合は、IP アドレスとして 127.0.0.1 を使用します。

たとえば、ブラウザのアドレスバーに次のアドレスを入力すると、Jellyfin Web UI にアクセスできます。

http://127.0.0.1:8096

上記のアドレスを入力すると、サーバーの初期セットアップのためのウェルカム画面が表示されます。セットアップ画面では、Jellyfin を初めて設定するために必要な手順が示されます。

優先表示言語

Jellyfin サーバーの初期セットアップ中に、インターフェイスで希望の表示言語を選択するように求められます。

選択したら、 「次へ ->」 次のステップに進むには、ボタンをクリックしてください。

Jellyfinアカウントのユーザー名とパスワードを作成する

希望する表示言語を選択すると、Jellyfin アカウントのユーザー名とパスワードを作成するように求められます。アカウントにより、Jellyfin サーバーへの管理者アクセスが許可され、メディア ライブラリ、ユーザー アカウント、サーバー設定を管理できるようになります。

注意: Jellyfin サーバーを効果的に保護するには、大文字と小文字、数字、記号を組み合わせた強力で一意のパスワードを作成してください。

ユーザー名とパスワードを作成したら、 「次へ ->」 ボタンをクリックして、初期サーバー設定の次の手順に進みます。

メディアライブラリ

Jellyfin アカウントを作成したら、サーバー設定の次のステップはメディア ライブラリを構成することです。メディア ライブラリを使用すると、メディア コンテンツを Jellyfin に追加し、構造化された方法で整理できます。映画、テレビ番組、音楽など、さまざまなメディア タイプごとに複数のライブラリを作成できます。

Jellyfinでメディアコンテンツを整理して表示するには、コンテンツをメディアライブラリに追加します。大きな 「+」 または 「メディアライブラリを追加」 Jellyfin ダッシュボードのボタンをクリックします。このクリックにより、メディア ライブラリ設定画面にリダイレクトされ、メディア フォルダーを入力できます。

Jellyfin にメディア コンテンツを追加するのは簡単です。

  • Plex を使用したことがある場合、このプロセスは馴染みのあるものであることがわかります。
  • 「メディアライブラリを追加」ボタンを選択します。
  • 追加するメディアの種類(映画、テレビ番組、音楽)を選択します。
  • 指示に従ってメディア フォルダーを入力します。
  • エピソードの説明、俳優の略歴、アルバムのアートワークを提供するメタデータ言語を設定します。

メディアライブラリにコンテンツを追加したら、Jellyfinでコンテンツを効率的に整理して閲覧できます。 「次へ ->」 メディア ライブラリを追加した後、メタデータ言語画面に進みます。ここで、コンテンツのメタデータの言語を選択します。この選択により、キャストやスタッフの詳細、あらすじ、レビューなどの貴重な情報がコンテンツに追加されます。

優先メタデータ言語

メディア ライブラリを設定し、希望するメタデータ言語を選択したら、Jellyfin メディア サーバーのリモート アクセスを構成します。これにより、ローカル ネットワークだけでなく、さまざまな場所やデバイスからメディア コンテンツを表示できるようになります。

希望するメタデータ言語を選択したら、 「次へ ->」 ボタンをクリックして続行します。

Jellyfinリモート接続を有効にする

Jellyfin メディア サーバーへの接続を許可し、自動ポート マッピングをアクティブ化することで、リモート アクセスを有効にします。リモート接続を許可すると、インターネット接続があればどこからでもメディア コンテンツにアクセスできます。一方、自動ポート マッピングにより必要なポートが開かれ、着信トラフィックが Jellyfin サーバーに到達できるようになります。

Jellyfinメディアサーバーへのリモートアクセスを設定したら、 「次へ ->」 ボタンをクリックして続行します。

Jellyfinダッシュボードに進む

Jellyfin メディア サーバーの初期設定が完了すると、次の画面でインストール プロセスが完了し、サーバーが使用可能になったことが確認されます。

Jellyfin Web UI にアクセスしたら、初期設定プロセス中に作成したユーザー名とパスワードを入力し、「サインイン」ボタンをクリックします。この操作により、Jellyfin ダッシュボードに移動し、メディア ライブラリにアクセスしてコンテンツを管理できるようになります。

Linux MintにログインしたらJellyfinを初めて使う時のヒント

Jellyfin メディア サーバーにログインすると、ダッシュボードにアクセスしてメディア ライブラリ、ユーザー、サーバー設定を管理できます。ダッシュボードから実行できるアクションは次のとおりです。

  • メディアコンテンツをさらに追加します: 「メディア ライブラリを追加」ボタンをクリックし、映画、テレビ番組、音楽など、追加するメディアの種類を選択すると、Jellyfin サーバーにさらにメディアを追加できます。ライブラリの名前、メディア ファイルの場所、メディアの種類に関する特定の設定など、必要な情報を提供する必要があります。
  • カスタマイズを構成します。 テーマ、言語、メタデータなどのカスタマイズを構成することで、Jellyfin サーバーの外観をカスタマイズできます。「ダッシュボード」ボタンをクリックし、「一般」または「表示」設定を選択して変更を加えます。
  • ユーザーの管理: メディア コンテンツへのアクセスを管理するには、ユーザー アカウントを追加、削除、変更できます。ダッシュボードの [ユーザー] ボタンをクリックし、[ユーザーの追加] または [ユーザーの編集] を選択して変更を加えます。

Jellyfin メディア サーバーを管理するための一般的なヒントをいくつか紹介します。

  • 最新の状態に保ってください: 定期的にアップデートを確認し、利用可能になったらインストールして、サーバーを最新の状態に保ちます。
  • プラグインと拡張機能を使用する: プラグインと拡張機能を使用すると、字幕やリモート コントロールのサポートなどの機能を Jellyfin サーバーに追加できます。
Linux Mint 上の Jellyfin Media Server の Web UI のダッシュボード
Web UI 上の Jellyfin Media Server ダッシュボードを備えた Linux Mint

トラブルシューティング: Jellyfinの初期設定をリセットする

Jellyfin メディア サーバーの初期セットアップ中に問題が発生した場合、または何らかの理由で最初からやり直す必要がある場合は、セットアップ プロセスをリセットするのが簡単です。system.xml ファイルの「IsStartupWizardCompleted」値を変更し、Jellyfin サーバーを再起動すると、初期セットアップ プロセスをリセットしてやり直すことができます。手順は次のとおりです。

system.xml ファイルを開きます。これは、次のコマンドを実行することで実行できます。

sudo nano /etc/jellyfin/system.xml

このコマンドは、nano テキスト エディターで system.xml ファイルを開き、ファイルを変更できるようにします。

「IsStartupWizardCompleted」の値を変更します。

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

次のように変更します。

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

この変更により、初期セットアップ プロセスがリセットされ、最初からやり直すことができます。

Jellyfin サーバーを再起動するには、次のコマンドを実行します。

sudo systemctl restart jellyfin

セットアップ プロセスを再起動します。Jellyfin サーバーを再起動したら、HTTP://127.0.0.1:8096 に再度アクセスして、セットアップ プロセスを再開できます。

Jellyfin メディア サーバーのメディア ドライブの権限を構成する

Linux Mint システムに Jellyfin をインストールした後は、メディア サーバーがメディア ディレクトリにアクセスして読み取るための権限を設定することが重要です。chown コマンドや chgrp コマンドよりも詳細なアクセス制御を提供する setfacl コマンドを使用します。

権限を設定する前に、ACL パッケージがインストールされていることを確認してください。続行するには、次のコマンドを実行します。

sudo apt install acl

Jellyfin にメディア ディレクトリとそのすべてのサブディレクトリへのアクセス権を付与するには、-R (再帰) フラグを指定した次のコマンドを使用します。

sudo setfacl -R -m u:jellyfin:rx /media/mymediadrive

個々のメディア ディレクトリまたはファイルに権限を割り当てる必要がある場合は、次のコマンドを使用します。

sudo setfacl -m u:jellyfin:rx /media/mymediadrive/example-name-of-file-or-directory

Jellyfin の追加コマンドとヒント

Jellyfin と Linux Mint の SSH を設定する

Linux Mint Jellyfin Media Server にリモートでアクセスする予定の場合は、Secure Shell (SSH) トンネルを設定することが不可欠です。SSH は、安全でないネットワーク上で安全なリモート ログインやその他の安全なネットワーク サービスを提供するプロトコルです。

Linux Mint サーバーで SSH を構成するには、次の手順に従います。

次のコマンドを使用して、Linux Mint マシンに SSH サーバーをインストールします。

sudo apt install openssh-server

SSH サーバーをインストールしたら、SSH トンネルを介して Jellyfin Media Server にリモートで接続します。{server-ip-address} をサーバーの IP アドレスに置き換え、ターミナルで次のコマンドを入力します。

ssh {server-ip-address} -L 8096:localhost:8096

このコマンドは、Jellyfin Media Server 用の SSH トンネルを作成します。

SSH トンネルを作成したら、Web ブラウザで次のリンクから Jellyfin Media Server にアクセスできます。

http://localhost:8096/web/index.html#/wizardstart.html

SSH トンネルは、HTTP リクエストをリモート サーバー上の http://localhost:8096/web にリダイレクトします。初期設定後、リモート サーバーの IP アドレス https://{server-ip-address}:8096 を使用して Jellyfin Media Server にアクセスします。

Jellyfin の UFW ファイアウォールを構成する

Linux Mint サーバーで受信および送信ネットワーク トラフィックを管理する場合、UFW ファイアウォールの設定が非常に重要です。Ubuntu とは異なり、Linux Mint では UFW ファイアウォールがデフォルトで有効になっていません。手動で有効にする必要があります。UFW ファイアウォールを有効にすると、ユーザーは必要なトラフィックのみがサーバーに到達できるようにすることができます。

UFW ファイアウォールを有効にするには、次のターミナル コマンドを使用します。

sudo ufw enable

有効にしたら、ポート 8096 の着信トラフィックを許可してください。これは、Jellyfin Media Server が正しく機能するために重要です。ポート 8096 のトラフィックを許可するには、次のコマンドを使用します。

sudo ufw allow 8096

このコマンドは、ポート 8096 の受信トラフィックをサーバーに許可し、Jellyfin Media Server が正しく機能することを保証します。

UFW がインストールされていない場合は、次のコマンドを使用してインストールします。

sudo apt install ufw

Jellyfin メディア サーバーのリバース プロキシとして Apache または Nginx を設定する

Jellyfin のリバース プロキシを設定すると、リモート コンピューターまたはネットワークからメディア サーバーにアクセスできるようになります。

Jellyfin のリバース プロキシとして Apache を設定する

リモート コンピューターまたはネットワークから Jellyfin メディア サーバーにアクセスする場合は、Apache または Nginx を使用してリバース プロキシを設定できます。このガイドでは、Linux Mint で Apache をリバース プロキシとして設定する方法について説明します。

まず、次のコマンドを使用して Apache Web サーバーをインストールします。

sudo apt install apache2

デフォルトでは、Apache はアクティブになっているはずです。アクティブになっていない場合は、次のコマンドを使用して有効にします。

sudo systemctl start apache2

次に、テキスト エディターを使用して、Jellyfin の新しい仮想ホスト構成ファイルを作成します。たとえば、次のように nano エディターを使用できます。

sudo systemctl enable apache2

次に、次のコマンドで必要なモジュールを有効にします。

sudo a2enmod proxy proxy_http headers proxy_wstunnel

次のコマンドを使用して、Jellyfin の新しい仮想ホスト構成ファイルを作成します。

sudo nano /etc/apache2/sites-available/jellyfin.conf

サブドメインを作成するには、アクティブなドメイン名が必要です。ドメイン名を購入する 1 つの方法は NameCheap を利用することです。ここではドメインを 1 ~ 2 ドルという低価格で購入できます。また、.com ドメインを希望する場合は、Cloudflare を使用できます。

サブドメインを作成したら、次の手順に従って Apache で仮想ホストを設定できます。

<VirtualHost *:80>
    ServerName jellyfin.example.com

    # Redirect HTTP to HTTPS
    Redirect permanent / https://jellyfin.example.com

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName jellyfin.example.com

    DocumentRoot /var/www/html/jellyfin/public_html

    ProxyPreserveHost On

    ProxyPass "/socket" "ws://localhost:8096/socket"
    ProxyPassReverse "/socket" "ws://localhost:8096/socket"

    ProxyPass "/" "http://localhost:8096/"
    ProxyPassReverse "/" "http://localhost:8096/"

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/jellyfin.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/jellyfin.example.com/privkey.pem
    Protocols h2 http/1.1

    SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
    SSLHonorCipherOrder on

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>
</IfModule>

ファイルを保存し (CTRL+O)、終了します (CTRL+X)。

仮想ホストを有効にする前に、Apache 構成または仮想ホスト ファイルにエラーがないことを確認するには、次のコマンドを使用して「ドライ ラン」を実行します。

sudo apache2ctl configtest

前のコマンドを使用して Apache 構成構文に構文エラーがないか確認した後、次のコマンドを使用して仮想ホストを有効にすることができます。

sudo a2ensite jellyfin.conf

sites-available ディレクトリから sites-enabled ディレクトリへのシンボリック リンクを作成すると、Apache は前のコマンドを使用して仮想ホストを提供できるようになります。仮想ホストを有効にしたら、Apache を再起動して変更を適用します。

これを実現するには、次のコマンドを実行します。

sudo systemctl restart apache2

このコマンドは、Apache サービスを停止および開始し、新しい仮想ホスト設定を適用し、更新された変更で構成を再読み込みします。

Jellyfin と Linux Mint のリバース プロキシとして Nginx を設定する

Nginx は、Jellyfin メディア サーバーへのリモート アクセスを可能にするリバース プロキシとして使用できます。Nginx は、この目的でよく使用される軽量で高性能な Web サーバーです。

Nginx をインストールするには、次のコマンドを使用します。

sudo apt install nginx

次に、次のコマンドを使用して Nginx サービスを開始します。

sudo systemctl start nginx

Nginx が有効になっていることを確認するには、次のコマンドを実行します。

sudo systemctl enable nginx

このコマンドは Nginx サービスを開始し、起動時に自動的に開始されるようにします。

成功した場合の出力例:

Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx

Nginx のステータスを確認するには、次のコマンドを使用します。

systemctl status nginx

Nginx が正しく実行されていることを確認したら、/etc/nginx/conf.d/jellyfin.conf に新しいサーバー ブロック ファイルを作成できます。この例では、サブドメイン jellyfin.example.com を使用します。

sudo nano /etc/nginx/conf.d/jellyfin.conf

Nginx をリバース プロキシとして設定するには、次のディレクティブを含む /etc/nginx/conf.d/jellyfin.conf のサーバー ブロック ファイルを設定する必要があります。

  • listen ディレクティブは、Nginx がリッスンするポートとアドレスを設定します。この例では、ポート 80 が使用されます。
  • server_name ディレクティブは、Nginx がリッスンするホスト名またはドメイン名を設定します。jellyfin.example.com をドメイン名に置き換えます。
  • access_log および error_log ディレクティブ: アクセス ログとエラー ログの場所を設定します。
  • 場所ディレクティブ: これらは、Nginx が受信リクエストを処理する方法を定義します。

ロケーション ディレクティブは、proxy_pass を設定して、Nginx から Jellyfin にリクエストを転送します。proxy_pass は、上流サーバー (Jellyfin サーバー) のプロトコルとアドレスを確立し、ポート 8096 でリッスンします。ロケーション ディレクティブは、Nginx が受信リクエストを管理する方法、ルート URL (/)、/web/ ディレクトリ、および /socket ディレクトリのリクエストを処理する方法を定義します。

サーバー ブロック ファイルの例を次に示します。

server {
    listen 80;
    server_name jellyfin.example.com;

    access_log /var/log/nginx/jellyfin.access;
    error_log /var/log/nginx/jellyfin.error;

    set $jellyfin jellyfin;
    resolver 127.0.0.1 valid=30;

    # Security / XSS Mitigation Headers
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    location = / {
        return 302 https://$host/web/;
    }

    location / {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;

        # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;
    }

    # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
    location = /web/ {
        # Proxy main Jellyfin traffic
        proxy_pass http://$jellyfin:8096/web/index.html;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

    location /socket {
        # Proxy Jellyfin Websockets traffic
        proxy_pass http://$jellyfin:8096/socket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }
}

ファイルを保存し (CTRL+O)、終了します (CTRL+X)。

続行する前に、Jellyfin のリバース プロキシとしての Nginx 構成にエラーがないことを確認してください。これを確認するには、次のコマンドを使用してドライ ランを実行します。

sudo nginx -t

このコマンドは、構成ファイルの構文エラーやその他の問題をテストします。すべてが正しく動作している場合は、次のように、構成ファイルが正常でテストが成功したことが出力に表示されます。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nginx に変更を適用するには、サービスを再ロードする必要があります。これは、次のコマンドを実行して実行できます。

sudo systemctl reload nginx

Nginx を Jellyfin のリバース プロキシとして適切に構成し、ドメインと DNS レコードをサーバー IP を指すように設定したら、jellyfin.example.com で Jellyfin メディア サーバーにアクセスできるようになります。Nginx が仲介役として機能するため、リモート ユーザーはサブドメインにアクセスして Jellyfin にアクセスできるようになり、Nginx はユーザーのリクエストを Jellyfin の Web インターフェイスに転送します。

Jellyfin 用の Let's Encrypt SSL 無料証明書を作成する

このセクションでは、無料の Let's Encrypt SSL 証明書を使用して Apache または Nginx サーバーを保護する方法について説明します。SSL 証明書は、ユーザーのブラウザとサーバー間の通信が安全であることを保証し、HTTPS でサーバーを実行するのに最適です。

certbot パッケージをインストールするには、インストールしたリバース プロキシと一致する必要があります。Apache を使用している場合は、python3-certbot-apache をインストールする必要があります。Nginx を使用している場合は、python3-certbot-nginx をインストールする必要があります。

Apache 用の Certbot をインストールします。

sudo apt install python3-certbot-apache

Nginx 用の Certbot をインストールします。

sudo apt install python3-certbot-nginx

Let's Encrypt SSL 無料証明書を使用して Apache または Nginx を保護するには、インストールしたリバース プロキシに一致する certbot パッケージをインストールする必要があります。Apache を使用している場合は python3-certbot-apache をインストールし、Nginx の場合は python3-certbot-nginx をインストールします。

インストールが完了したら、certbot コマンドを実行して証明書を作成します。このコマンドには、リバース プロキシに応じて –Apache や –nginx などのオプションのほか、–agree-tos、–redirect、–hsts、–staple-ocsp などのオプションがあります。これらのオプションは、301 リダイレクト、Strict-Transport-Security ヘッダー、および OCSP Stapling の設定に役立ち、安全な設定を実現します。メール アドレスとドメイン名は、必ず要件に合わせて置き換えてください。

Jellyfin 用の Apache 用 Certbot を実行します。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

Jellyfin の Nginx 用 Certbot を実行します。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

SSL 証明書を作成すると、URL が HTTP から HTTPS に変わります。ユーザーは、自動証明書更新を保証するために、毎日チェックを実行する cron ジョブを設定する必要があります。Certbot は、自動証明書更新用のスクリプトを提供しています。ユーザーは、次のコマンドを使用して、cron ジョブを設定する前に、ドライ ランでスクリプトをテストする必要があります。

sudo certbot renew --dry-run

ドライ ランが成功したことを確認した後、ユーザーは cron ジョブを設定して証明書の更新プロセスを自動化できます。これを行うには、次のコマンドを使用します。

sudo crontab -e

このコマンドは、ユーザーの cron テーブルを編集モードで開きます。次に、ユーザーはファイルの末尾に次の行を追加して、毎日午前 2:30 に更新チェックをスケジュールできます。

30 2 * * * /usr/bin/certbot renew --quiet

ユーザーがファイルを保存して終了すると、cron は証明書を毎日自動的にチェックし、必要に応じて更新します。

Jellyfin メディアサーバーの更新

Jellyfin Media Server を更新するには、システム上の他のパッケージと同様に、標準の apt コマンドを使用できます。これにより、Jellyfin の更新が簡単になります。

更新を確認するには、次のコマンドを実行します。

sudo apt update

利用可能なアップデートがある場合は、アップグレード コマンドを実行します。

sudo apt upgrade

Jellyfin メディアサーバーを削除する

システムから Jellyfin をアンインストールするには、次のコマンドを使用します。

sudo remove install jellyfin

最後に、将来 Jellyfin が誤って再インストールされるのを防ぐために、システムから Jellyfin リポジトリを削除することをお勧めします。

削除するには、次のコマンドを実行します。

sudo rm /etc/apt/sources.list.d/jellyfin.list

このコマンドは、sources.list.d ディレクトリから Jellyfin のリポジトリ ファイルを削除し、今後の Jellyfin の更新やインストールを防止します。

結論

Linux Mint システムに Jellyfin が正常にインストールされると、メディア コレクションを効率的に管理およびストリーミングできるようになります。Jellyfin の公式 APT リポジトリを使用すると、最新の安定ビルドと開発ビルドを常に最新の状態に保ち、最新の機能と改善点にアクセスできます。メディア サーバー ソリューションとして Jellyfin が提供する柔軟性と堅牢な機能をお楽しみください。

Joshua James

「How to Install Jellyfin Media Server on Linux Mint 22, 21 or 20」への1件のフィードバック

コメントを残す