Raspberrypi5にdocker-mirakurun-epgstationをインストールして動かしてみた話

RaspiberryPi5で構築してる情報が少ないので、備忘録として残します。

前提条件:

  • RaspberryPi5が手元にあって、64bitOSをインストール済み

では構築していきましょう。

USBドングルチューナーの設定

何番煎じか分からないですが、PX-S1UDを地上波受信用に利用します。

wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
unzip PX-S1UD_driver_Ver.1.0.1.zip
sudo cp PX-S1UD_driver_Ver.1.0.1/x86/i386/isdbt_rio.inp /lib/firmware/

一回再起動します。

sudo reboot

再起動後にちゃんと認識してるかを確認。

dmesg | grep PX-S1UD
[ 1.203961] usb 1-2: Product: PX-S1UD Digital TV Tuner

カードリーダーの設定

次にB-CASカードを読み込むカードリーダーの準備です。

sudo apt update -y && sudo apt install build-essential -y
sudo apt install pcscd libpcsclite-dev libccid pcsc-tools -y

サービスが動いてるかを確認。

service pcscd status

念のためB-CASカードがちゃんと認識してるかも確認。

pcsc_scan | grep B-CAS

docker-mirakurun-epgstationの導入

まずgitをインストール。

sudo apt install git -y

gitがインストールされたら、docker関連をインストールしましょう。

sudo apt install docker -y && sudo docker-compose -y

dockerをインストールしたら以下を実行していきましょう。

git clone https://github.com/l3tnun/docker-mirakurun-epgstation.git
cd docker-mirakurun-epgstation/
cp docker-compose-sample.yml docker-compose.yml

docker-compose.ymlを編集します。編集箇所のみ抜粋。

image: chinachu/mirakurun
↓
image: chinachu/mirakurun:3.8.0
image: mariadb:10.5
↓
image: mariadb:latest

epgstationの中のテンプレートをコピーしてリネーム

cp epgstation/config/config.yml.template epgstation/config/config.yml
cp epgstation/config/enc.js.template cp epgstation/config/enc.js
cp epgstation/config/epgUpdaterLogConfig.sample.yml epgstation/config/epgUpdaterLogConfig.yml
cp epgstation/config/serviceLogConfig.sample.yml epgstation/config/serviceLogConfig.yml
cp epgstation/config/operatorLogConfig.sample.yml cp epgstation/config/operatorLogConfig.yml

epgstationのDockerfileを修正します。

vim ./debian.Dockerfile

修正する箇所のみ抜粋。

ENV FFMPEG_VERSION=4.2.4
↓
ENV FFMPEG_VERSION=6.0

docker-composeを実行する

docker-mirakurun-epgstationのディレクトリに移動し、以降を実行。

sudo docker-compose pull
sudo docker-compose build --pull

epgstationはffmpegのbuildが走るので結構待ちます。

それでもRaspberryPi5なら処理が早くなったと思います。

epgstationで視聴確認

http://raspberrypi.local:8888にアクセス。

IPアドレスが分かっているなら、raspberrypi.localの部分を該当のIPアドレスに変えてアクセスしましょう。

トラブルシューティング

以降は私が構築する際にハマった内容です。

mariadbが起動してもRestartingを繰り返す。

この問題は、実行している環境にマッチしていない場合に発生します。

RaspberryPi4の場合は image: jsurf/rpi-mariadb でないと動かなかったりしました。

あとは何度もdocker-composeでコンテナをpullしていると、既にpull済みのファイルが悪さをする事があるので、ボリュームを削除することをお勧めします。

参考先:https://qiita.com/Ikumi/items/b319a12d7e2c9f7b904d

epgstationのコンテナがRestatingを繰り返す。

epgstationのフォルダの中にあるconfig内の各種テンプレートをちゃんとリネームしないと、この症状が発生します。