bokumin.org

Github

メディアサーバー(Jellyfin)をLinux(OpenSUSE)上で構築する方法

How to Set Up a Jellyfin Media Server on Linux(SUSE TW)

 

はじめに

 

手元に持ってる音楽ファイルを一元で管理できたらな~ということで自作PCのウェブサーバー(OpenSUSE)でjellyfinを構築しました。インストールの方法を紹介します。

 

インストール方法のメリット・デメリット

 

OpenSUSEにjellyfinをインストールする場合、snap,zypper,dockerなどなどの方法が主流です。

 

方法メリットデメリット
Snap・簡単にインストールできる
・自動アップデート可能
・権限管理が明確
・起動が若干遅い
・ディスク容量を多く使う
・ファイルパスが特殊
zypper・システムに統合される
・軽量
・従来のLinux管理方法が使える
・公式リポジトリにない
・コミュニティが管理するリポジトリが必要
Docker・環境を汚さない
・OS移行が簡単
・アップデートが簡単
・若干のオーバーヘッド
・初期設定がちょっと複雑

 

個人的には、以下のような使い分けがおすすめです。

 

初心者: Snap(最も簡単)
従来のパッケージ管理を好む人: zypper
複数のサービスを運用している人: Docker(管理が一元化できる)
以下に、それぞれ紹介していきます。

 

Snapの場合のインストール手順

 

Snapのインストール方法はディストリビューションごとに違いがありますが、わたしの使うOpenSUSEでは、このURL(https://download.opensuse.org/repositories/system:/snappy/)にそれぞれのパッケージごとのレポジトリがありましたので参考にしました。
TWの場合、ローリングリリースモデルなので特に決まった番号などはなく、以下のコマンドでSnapの取得が可能です。

 

#zypperにレポジトリ追加
sudo zypper ar https://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy
sudo zypper --gpg-auto-import-keys refresh
sudo zypper dup --from snappy
sudo zypper install snapd

 

以上のコマンドでSnapの取得が完了します。次にSnapを自動で起動するように設定しておきます。

 

#起動時にsnapが起動しているようにする
sudo systemctl enable --now snapd
#OpenSUSEは追加でsnapd.apparmor サービスを有効にして開始する必要がある
sudo systemctl enable --now snapd.apparmor

 

次に、jellyfinをインストールしていきます。
今回はコミュニティ開発で作成されたitrue-jellyfinというものをインストールしていきます。

 

sudo snap install itrue-jellyfin
#ホームディレクトリへのアクセス許可
snap connect itrue-jellyfin:home
#USBドライブやメモリ―カードへのアクセス許可
snap connect itrue-jellyfin:removable-media
#マウントポイントを確認する権限の許可
snap connect itrue-jellyfin:mount-observe
#firewall設定の変更許可
snap connect itrue-jellyfin:firewall-control

 

以上でsnapの場合のインストールが完了となります。

 

zypperの場合のインストール手順

 

zypperでJellyfinをインストールする方法もあります。ただし、OpenSUSE公式リポジトリにはJellyfinが含まれていないため、コミュニティが管理するサードパーティーのリポジトリを追加する必要があります。TWの場合、以下のようにインストールします。

 

# リポジトリ追加
sudo zypper addrepo https://download.opensuse.org/repositories/home:furlongm:branches/openSUSE_Tumbleweed/home:furlongm:branches.repo

# リポジトリ更新
sudo zypper refresh

# Jellyfinインストール
sudo zypper install jellyfin

# サービスの有効化と起動
sudo systemctl enable --now jellyfin

 

Leap(15.6)の場合は以下の通りです。

 

# リポジトリ追加
sudo zypper addrepo https://download.opensuse.org/repositories/home:ecsos:server/15.6/home:ecsos:server.repo

# リポジトリ更新
sudo zypper refresh

# Jellyfinインストール
sudo zypper install jellyfin

# サービスの有効化と起動
sudo systemctl enable --now jellyfin

 

以上でzypperの場合のインストールが完了となります。

 

Dockerの場合のインストール手順

 

Dockerでのインストール

 

Dockerを使うと、システムを汚さずにJellyfinを運用できます。アップデートも簡単で、他のOSをまたいだサーバーへの移行も容易です。
まず、Dockerをインストールしていきます。
※Dockerを既にインストールされている場合は飛ばしてください

 

# Dockerのインストール
sudo zypper install docker

# Dockerサービスの有効化
sudo systemctl enable --now docker

# 現在のユーザーをdockerグループに追加(sudo不要で実行できるようにする)
sudo usermod -aG docker $USER

# 再ログインして反映

 

docker-compose.ymlファイルを作成します。

 

version: '3.8'

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    network_mode: host
    volumes:
      - /home/username/jellyfin/config:/config
      - /home/username/jellyfin/cache:/cache
      - /home/username/Music:/media/music
      - /home/username/Videos:/media/videos
    restart: unless-stopped
    environment:
      - TZ=Asia/Tokyo
# path部分は実際のディレクトリに修正してください
# media部分は実際に存在する音楽や動画が置いてあるディレクトリを指定してください

 

上記ファイルを作成したら、以下のコマンドで起動します。

 

# Docker Composeのインストール
sudo zypper install docker-compose

# Jellyfinの起動
docker-compose up -d

# ログの確認
docker-compose logs -f

 

ymlを使わずに、Dockerコマンドを使って起動する方法もあります。

 

docker run -d \
  --name jellyfin \
  --network host \
  -v /home/username/jellyfin/config:/config \
  -v /home/username/jellyfin/cache:/cache \
  -v /home/username/Music:/media/music \
  -v /home/username/Videos:/media/videos \
  -v /mnt/external/Movies:/media/movies \
  -e TZ=Asia/Tokyo \
  --restart unless-stopped \
  jellyfin/jellyfin:latest
  # path部分は実際のディレクトリに修正してください

 

以上でDockerの場合のインストールは完了です。

 

これらがOpenSUSEでjellyfinを入れる場合のメジャーな方法だと思いますが、皆さんの好きな方法を選んでもらえればと思います。

 

インストール後

 

Jellyfinはデフォルトで8096番ポートを使用するので、firewallなどでポートの設定をしている場合は8096ポートを解放するようにしてください。

 

その後、スマホやPCなどのブラウザ上で”localhost:8096″と入力・アクセスし、初期設定などを行ってください。※初期設定では管理者ユーザーの作成が必要なので、この段階での外部の作成は避けたほうがいいです。

 

終わりに

 

OpenSUSEでのJellyfinの様々なインストール方法について紹介しました。
Jellyfinは高機能なメディアサーバーとして、音楽・動画・写真の管理が可能です。ご自身の環境や好みに合わせて選択してください。
音楽ファイルは著作権の関係もありますので、あくまで個人的に使用することを目的に運用していきましょう。

 

おわり