Ubuntu24.04 docker-mirakurun-epgstation
epgrecUNAをインストールしてみましたが、php8.3への対応が
上手くいかないので諦めました。
一応、8.3まで動いている環境のpatchを提供している方はいたので、
試してはみたのですが、番組表が反映されませんでした。
recpt1 epgdump は、個別に試すときちんと動作していることは確認できたんですけどね。
結局、今回もmirakurunとEPGStationで構築しました。
今回も、Docker版 前回と特に変わったことは無いと思う。
1 PT3が正常に認識していることを確認
$ ls /dev/dvb/ |
adapter0 adapter1 adapter2 adapter3 |
2 必要なパッケージのインストール
$ sudo apt install ca-certificates curl gnupg lsb-release dkms git dvb-tools |
3 pcscdドライバーのインストールと確認
$ sudo apt install libpcsclite-dev pcscd pcsc-tools libccid
$ pcsc_scan |
Japanese Chijou Digital B-CAS Card (pay TV) と表示されればOK |
4 pcscdの停止 #docker環境では、ホストのpcscdは停止する必要があるらしい
$ sudo systemctl stop pcscd.socket
$ sudo systemctl disable pcscd.socket |
確認
$ sudo systemctl status pcscd.socket |
8月 25 16:41:29 H270N-WIFI systemd[1]: Listening on pcscd.socket – PC/SC Smart Card Daemon Activation Socket. 8月 25 16:48:41 H270N-WIFI systemd[1]: pcscd.socket: Deactivated successfully. 8月 25 16:48:41 H270N-WIFI systemd[1]: Closed pcscd.socket – PC/SC Smart Card Daemon Activation Socket. と出ていたので停止しているようだ |
5 dockerのインストール(リポジトリの設定)
- 2のパッケージインストールで必要なものはインストール済み
-1 Dockerの公式GPGキーを追加
$ sudo apt update $ sudo apt install ca-certificates curl $ sudo install -m 0755 -d /etc/apt/keyrings $ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc $ sudo chmod a+r /etc/apt/keyrings/docker.asc |
-2 リポジトリの設定 ※echoから全部1行のコード
$ echo \ “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo “$VERSION_CODENAME”) stable” | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
-3 パッケージの更新
$ sudo apt update |
-4 最新版のインストール
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin |
-5 バージョン確認
$ docker –version |
Docker version 27.1.2, build d01f264 #バージョンが表示されればOK |
-6 ユーザーがdockerを起動できるようにdockerグループに追加
$ sudo usermod -aG docker $hage #$hageはログインユーザを入れる |
6 docker-composeのインストール
Releases · docker/compose で最新バージョンを確認して、バージョンをあわせる
$ sudo curl -L “https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose #これは、間違えそうだけど1行です |
再起動
実行権限の付与
$ sudo chmod +x /usr/local/bin/docker-compose |
バージョンの確認
$ docker-compose –version |
Docker Compose version v2.29.2 #バージョンが表示されればOK |
再起動
7 docker-mirakurun-epgstationのインストール
ここに書いてあるとおりにインストールする
$ curl -sf https://raw.githubusercontent.com/l3tnun/docker-mirakurun-epgstation/v2/setup.sh | sh -s |
#curlの-sfはつけない方が、何やってるのかわかって良いと個人的には思う
$ cd docker-mirakurun-epgstation |
$ docker-compose pull $ docker-compose up -d #-dでバックグラウンドで動く |
buildしてるので、終わるまでしばらく放置
mirakurnの確認
webブラウザーで確認
http://IPアドレス:40772 |
mirakurunの起動を確認したら、StatusのTunerDevice Streamsが0になるのを待つ
結構かかるのでしばらく放置して、0になればチャンネルスキャン終了
EPGStationを確認する
EPGStationの確認
http://IPアドレス:8888 |
EPGStationが立ち上がって、番組表が表示されていればOK
8 チャンネルの手動スキャン
上手くスキャンできてない場合は、手動スキャンしてみた方が良いかもしれない。
地デジ
$ curl -X PUT “http://localhost:40772/api/config/channels/scan?type=GR&setDisabledOnAdd=false&refresh=true” |
BS
$ curl -X PUT “http://localhost:40772/api/config/channels/scan?type=BS&setDisabledOnAdd=false&refresh=true” |
CS
$ curl -X PUT “http://localhost:40772/api/config/channels/scan?type=CS&setDisabledOnAdd=false&refresh=true” |
スキャンじたいは、全部あわせても数10分で終わる
9 設定を修正する場合は、dockerを止めること
停止
$ sudo docker-compose down |
10 docker-compose.ymlを修正 dockerを止めた状態で修正
録画先を変更する
※1行目のVersion指定がエラーの原因らしいのでそこは削除した
./recorded:/app/recorded ※./recordedの部分を保存場所に修正 |
11 config.ymlを修正 dockerを止めた状態で修正
docker-mirakurun-epgstation/epgstation/config/config.ymlを修正
録画時のファイル名と拡張子を変更する
recordedFormat: ‘%TITLE%’ 録画名の変更 recordedFileExtension: .ts 録画をm2tsからtsに変更 |
12 更新後の起動
$ sudo docker-compose pull # mirakurunとdbを更新
$ sudo docker-compose build –pull # epgstationを更新 $ sudo docker-compose up -d # 最新のイメージを元に起動 |
更新後に再起動してみたが、動作していることを確認
最初、チャンネルが5桁の数字になっていてルール設定時に選択できなかったが、
1日たったら、直ってた。
ちなみに、ルールの除外設定は 正規表現にチェックを入れて | で区切ると
複数のルールを追加できる 半角とか入れたら別ものになるので |を間に入れるだけ
おまけ
dockerのコマンド
使用容量の確認
$ docker system df |
dockerイメージの確認
$ docker images |
dockerイメージの削除
$ docker image prune -a #-aですべて削除 |
$ docker image rm <タグ名> #タグ名の代わりにidでも可
起動しているコンテナの確認
$ sudo docker ps |
停止ているコンテナの確認
$ sudo docker ps- a |
コンテナの削除 複数の場合
$ docker-compose rm |
ボリュームの確認
$ docker volume ls |
ボリュームの削除
$ docker volume rm <ボリュームネーム> |
Build cahcheの削除
$ docker builder prune |