EPGStation-PLEX tuner-Ubuntu 22.04-自宅録画サーバー
<2023年8月22日>
最新版のMirakurunとEPGStationを使えるようにしました。
こちらをお使いください。
2022年5月現在、自宅録画サーバーを簡単に作る方法を紹介します。
PLEXチューナーが接続、あるいは搭載されたPCがあれば、
約1時間で録画予約ができるようになります。
- (20分) Ubuntu 22.04インストール
- (15分) 自宅録画サーバー完成
- (20分) EPGStationで1週間の番組表を読み込み、予約録画ができる
入手可能な以下4点を利用します。
- Ubuntu LTS 22.04 日本語Remix
- EPGStation Mirakurun docker版
- 非公式Linuxドライバ for PLEX TVチューナー
- PLEX TVチューナー
(PX-Q3PE4/5、PX-W3PE4/5)
(PX-MLT5PE、PX-MLT8PE)
(PX-Q3U4、PX-W3U4)
<2022年1月版からの改訂ポイント>
- Ubuntu 22.04 LTS 日本語Remixで動作確認
- BS新3チャンネル対応
- スクリプトのディレクトリ整理
- 3種のツール追加(トランスコードオプション、簡単samba、Munin)
用意するもの
No. | 品名 | 説明 |
---|---|---|
1 | B-CASカード | |
2 | USB接続カードリーダー | SCR3310v2.0で検証済み |
3 | PLEX社製TVチューナー | PX-Q3PE4/5, PX-W3PE4/5, PX-Q3U4, PX-W3U4, PX-MLT5PE, PX-MLT8PE |
4 | アンテナケーブル | |
5 | LANケーブルかWiFi | |
6 | PC | Ubuntu 22.04がインストールできるPC |
B-CASカード
USB接続カードリーダー
PLEX社製TVチューナー
アンテナケーブル
PC
PLEX TVチューナーには、使用できるPCに以下の制限があります。
PC | W3U4 Q3U4 | W3PE4 Q3PE4 MLT5PE | W3PE5 Q3PE5 | MLT8PE |
---|---|---|---|---|
フルハイトの PCI Expressカード が使える | ○ | ○ 内部USBポート 接続が必要 | ○ | ○ 内部USBポート 接続が必要 |
ロープロファイルの PCI Expressカード が使える | ○ | ○ 内部USBポート 接続が必要 | ○ | ✘ |
PCI Expressカード が使えないが USBポートがある | ○ | ✘ | ✘ | ✘ |
それ以外に制約はありませんが、推奨事項がいくつかあります。
- CPU
第6世代 Intel Core i3 以上が推奨。 - ストレージ
システム用と録画データ用を分ける。
システム用は、120GB以上のSSD、録画データ用は、HDDが推奨。 - 電源
TSからmp4へトランスコードを行う場合は、400W以上の安定した電源が望ましい。
ハードウェアの準備
- PCを組み立てます。
- (W3U4、Q3U4の場合)
外部USBポートに接続します。
(W3PE5、Q3PE5の場合)
PLEX TVチューナーをPCI Expressのスロットに入れます。
(W3PE4、Q3PE4、MLT5PE、MLT8PEの場合)
PLEX TVチューナーをPCI Expressのスロットに入れます。
内部USBポートとTVチューナーカードを接続します。 - B-CASカードをUSB接続カードリーダーに挿入する。
B-CASカードの裏面を上にして挿入する。
- USB接続カードリーダーを外部USBポートに接続する。
- LANケーブルをPCに接続するか、WiFiを用意する。
- 準備した例を以下に示します。
- 最後に、PLEXチューナーのドライバをインストールするために、
セキュリティーブートを「非UEFIモード」にします。
PCの電源を入れて、「DEL」キーを押してBIOSユーティリティーを起動します。
(本例は、ASUSのマザーボードの場合です。)
画面下のメニュー左寄り「Advanced Mode」をクリックします。
Advanced ModeのMain画面で、メニューから「起動」をクリックします。
「起動」画面で「セキュリティブートメニュー」をクリックします。
「セキュリティブートメニュー」画面で「OSタイプ」を「非UEFIモード」にします。
メニューから「終了」をクリックし、「変更を保存しリセット」をクリックします。
これで、リブートすれば、ハードウェアの準備は完了です。
インストールの準備
- 既に稼働しているdocker版EPGStationがある場合は、バックアップをしてください。
- Ubuntu 22.04をインストールします。
- root以外のユーザーでログインしてください。
例えば、euserというユーザーを作成し、euserでログインします。 - インストールスクリプトをダウンロードします。
<2023年8月22日 スクリプトの新しいバージョンを公開しました。 2023年8月22日以降は、こちらのスクリプトを使って下さい。
- ダウンロードしたファイルをホームディレクトリに展開します。
ダウンロードディレクトリを表示します。
「temp-20220523T004118Z-001.zip」をダブルクリックします。
「temp」を右クリックしてメニューを表示し、「展開」をクリックします。
「ホーム」をクリックして、「展開」をクリックします。
「アーカイブの展開が完了しました」と表示されたら、「ファイル表示」をクリックします。
「ホーム」の配下に「temp」ディレクトリができたことを確認します。
- 「端末」アプリを開く。
画面左下の「アプリケーションを表示する」をクリックします。
「端末」を左クリックして、「お気に入りに追加」をクリックします。
画面左のメニューから「端末」をクリックします。
インストールの実行
- 「端末」を実行して、スクリプトを確認します。
euser@pc:~$ cd ~/temp/epg-plex euser@pc:~/temp/epg-plex$ ls -la 合計 48 drwxrwxr-x 3 euser euser 4096 5月 23 09:31 . drwxrwxr-x 4 euser euser 4096 5月 23 09:32 .. -rw-rw-r-- 1 euser euser 212 8月 28 2021 1-preprocess.sh -rw-rw-r-- 1 euser euser 85 8月 28 2021 2-carddriver.sh -rw-rw-r-- 1 euser euser 116 8月 28 2021 3-checkcard.sh -rw-rw-r-- 1 euser euser 576 8月 28 2021 4-tunerdriver.sh -rw-rw-r-- 1 euser euser 27 8月 28 2021 5-checktuner.sh -rw-rw-r-- 1 euser euser 1120 5月 17 02:00 6-install-mlt5.sh -rw-rw-r-- 1 euser euser 1120 5月 17 02:01 6-install-mlt8.sh -rw-rw-r-- 1 euser euser 1110 5月 17 02:02 6-install-q.sh -rw-rw-r-- 1 euser euser 1114 5月 17 02:02 6-install-w.sh drwxrwxr-x 2 euser euser 4096 5月 20 13:50 data
- スクリプトを順番に実行していきます。
euser@pc:~/temp/epg-plex$ bash 1-preprocess.sh euser@pc:~/temp/epg-plex$ bash 2-carddriver.sh euser@pc:~/temp/epg-plex$ bash 3-checkcard.sh euser@pc:~/temp/epg-plex$ bash 4-tunerdriver.sh
ここで自動的にリブートします。(ここまで5分)
リブート後端末を開き、~/temp/epg-plexまで戻ります。euser@pc:$cd ~/temp/epg-plex euser@pc:~/temp/epg-plex$ bash 5-checktuner.sh
チューナードライバを確認したら、最後のインストールです。(ここから10分)
<Q3PE4/5、Q3U4>の場合euser@pc:~/temp/epg-plex$ bash 6-install-q.sh
<W3PE4/5、W3U4>の場合
euser@pc:~/temp/epg-plex$ bash 6-install-w.sh
<MLT5PE>の場合
euser@pc:~/temp/epg-plex$ bash 6-install-mlt5.sh
<MLT8PE>の場合
euser@pc:~/temp/epg-plex$ bash 6-install-mlt8.sh
インストールの詳細画面
- 1-preprocess.sh
以下のスクリプトを実行します。euser@pc:~/temp/epg-plex$ bash 1-preprocess.sh
結果は、以下のとおりです。
docker-compose (1.29.2-1) を展開しています... python3-dotenv (0.19.2-1) を設定しています ... python3-distutils (3.10.4-0ubuntu1) を設定しています ... python3-attr (21.2.0-1) を設定しています ... python3-texttable (1.6.4-1) を設定しています ... python3-docopt (0.6.2-4) を設定しています ... python3-setuptools (59.6.0-1.2) を設定しています ... python3-pyrsistent:amd64 (0.18.1-1build1) を設定しています ... python3-websocket (1.2.3-1) を設定しています ... python3-dockerpty (0.4.1-2) を設定しています ... python3-docker (5.0.3-1) を設定しています ... python3-jsonschema (3.2.0-0ubuntu2) を設定しています ... docker-compose (1.29.2-1) を設定しています ... man-db (2.10.2-1) のトリガを処理しています ... docker-compose version 1.29.2, build unknown
docker、docker-composeなどをインストールし、準備を完了します。
- 2-carddriver.sh
以下のスクリプトを実行します。euser@pc:~/temp/epg-plex$ bash 2-carddriver.sh
結果は以下のとおりです。
+ Historical bytes: + TCK = 99 (correct checksum) Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99 Japanese Chijou Digital B-CAS Card (pay TV)
ctrl-cを入力して、スクリプトを終了します。
これで、B-CASカードが有効になります。 - 3-checkcard.sh
以下のスクリプトを実行します。euser@pc:~/temp/epg-plex$ bash 3-checkcard.sh
結果は以下のとおりです。
○ pcscd.socket - PC/SC Smart Card Daemon Activation Socket Loaded: loaded (/lib/systemd/system/pcscd.socket; disabled; vendor preset:> Active: inactive (dead) Triggers: ● pcscd.service Listen: /run/pcscd/pcscd.comm (Stream) 5月 23 10:22:29 motown systemd[1]: Listening on PC/SC Smart Card Daemon Activa> 5月 23 10:23:51 motown systemd[1]: pcscd.socket: Deactivated successfully. 5月 23 10:23:51 motown systemd[1]: Closed PC/SC Smart Card Daemon Activation S> lines 1-9/9 (END)
「Active: inactive (dead)」を確認した後、
ctrl-cを入力して、スクリプトを終了します。 - 4-tunerdriver.sh
以下のスクリプトを実行します。euser@pc:~/temp/epg-plex$ bash 4-tunerdriver.sh
結果は以下のとおりです。
px4_drv.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/5.15.0-30-generic/updates/dkms/ Running the post_install script: './etc/99-px4video.rules' -> '/etc/udev/rules.d/99-px4video.rules' depmod.... ドライバがインストールされました。enterキーを押すとリブートします。
TVチューナーのドライバがインストールされました。
enterキーを押してリブートしてください。 - 5-checktuner.sh
以下のスクリプトを実行します。euser@pc:~/temp/epg-plex$ bash 5-checktuner.sh
TVチューナーの非公式ドライバが正常にインストールされたことを確認します。
Q3PE4/5、Q3U4の場合は、以下のように表示されます。crw-rw-r-- 1 root video 239, 0 3月 29 17:48 /dev/px4video0 crw-rw-r-- 1 root video 239, 1 3月 29 17:48 /dev/px4video1 crw-rw-r-- 1 root video 239, 2 3月 29 17:48 /dev/px4video2 crw-rw-r-- 1 root video 239, 3 3月 29 17:48 /dev/px4video3 crw-rw-r-- 1 root video 239, 4 3月 29 17:48 /dev/px4video4 crw-rw-r-- 1 root video 239, 5 3月 29 17:48 /dev/px4video5 crw-rw-r-- 1 root video 239, 6 3月 29 17:48 /dev/px4video6 crw-rw-r-- 1 root video 239, 7 3月 29 17:48 /dev/px4video7
W3PE4/5、W3U4の場合は、以下のように表示されます。
crw-rw-r-- 1 root video 239, 0 3月 29 17:48 /dev/px4video0 crw-rw-r-- 1 root video 239, 1 3月 29 17:48 /dev/px4video1 crw-rw-r-- 1 root video 239, 2 3月 29 17:48 /dev/px4video2 crw-rw-r-- 1 root video 239, 3 3月 29 17:48 /dev/px4video3
MLT5PEの場合は、以下のように表示されます。
crw-rw-r-- 1 root video 237, 0 9月 13 13:53 /dev/pxmlt5video0 crw-rw-r-- 1 root video 237, 1 9月 13 13:53 /dev/pxmlt5video1 crw-rw-r-- 1 root video 237, 2 9月 13 13:53 /dev/pxmlt5video2 crw-rw-r-- 1 root video 237, 3 9月 13 13:53 /dev/pxmlt5video3 crw-rw-r-- 1 root video 237, 4 9月 13 13:53 /dev/pxmlt5video4
MLT8PEの場合は、以下のように表示されます。
crw-rw-r-- 1 root video 237, 0 9月 13 13:53 /dev/pxmlt8video0 crw-rw-r-- 1 root video 237, 1 9月 13 13:53 /dev/pxmlt8video1 crw-rw-r-- 1 root video 237, 2 9月 13 13:53 /dev/pxmlt8video2 crw-rw-r-- 1 root video 237, 3 9月 13 13:53 /dev/pxmlt8video3 crw-rw-r-- 1 root video 237, 4 9月 13 13:53 /dev/pxmlt8video4 crw-rw-r-- 1 root video 237, 5 9月 13 13:53 /dev/pxmlt8video5 crw-rw-r-- 1 root video 237, 6 9月 13 13:53 /dev/pxmlt8video6 crw-rw-r-- 1 root video 237, 7 9月 13 13:53 /dev/pxmlt8video7
もし、ドライバが表示されない場合は、原因を調査します。
解決しない場合は、先に進めません。 - 6-install
インストールの最後のステップです。PLEX TVチューナー対応docker版mirakurun、mysql、epgstationをインストールします。
(a) PX-Q3PE4/5、PX-Q3U4の場合、6-install-q.sheuser@pc:~/temp/epg-plex$ bash 6-install-q.sh
(b) PX-W3PE4/5、PX-W3U4の場合、6-install-w.sh
euser@pc:~/temp/epg-plex$ bash 6-install-w.sh
(c) PX-MLT5PEの場合は、6-install-mlt5.sh
euser@pc:~/temp/epg-plex$ bash 6-install-mlt5.sh
(d) PX-MLT8PEの場合は、6-install-mlt8.sh
euser@pc:~/temp/epg-plex$ bash 6-install-mlt8.sh
スクリプト実行後、約10分で以下が表示されれば「インストール完了」です。
Successfully built af61c6cadc6a Successfully tagged docker-mirakurun-epgstation_epgstation:latest Creating network "docker-mirakurun-epgstation_default" with the default driver Creating volume "docker-mirakurun-epgstation_mysql-db" with local driver Creating mirakurun ... done Creating mysql-epgstation-v2 ... done Creating epgstation-v2 ... done
- Mirakurunの稼働確認
ブラウザでMirakurunの稼働を確認する。
「http://localhost:40772」
2022年5月25日現在、Mirakurun 3.8.0がインストールできます。
Mirakurun 3.8.0は固定です。3.8.0以降のバージョンで、メモリーリークやEPGStationで番組表が更新できないなどの不具合が発生したためです。
今までMirakurun 3.8.0を使って、EPGStationで問題は発生していません。
<2022年10月26日>Mirakurun 3.9.0-rc.2で安定稼働することを確認しました。今後、3.9.0正式リリース時にMirakurun 3.9.0に変更予定です。 - EPGStationの稼働確認
ブラウザでEPGStationの稼働を確認する。
「http://localhost:8888」
2022年5月25日現在、EPGStation 2.6.20がインストールできます。
BSの番組表の方が、地デジの番組表より早く表示されます。
地デジの1週間後の番組表が表示されるまで、およそ20分かかります。
録画する前に必ず実施すること
EPGStationのストレージの所有者は、デフォールトでrootになります。
所有者をログインユーザーにする必要があります。
以下の設定を行わないと、ファイルの自動削除などの際に、きちんと削除されないことが起こります。
また、sambaなど他のシステムからファイルの変更や削除を行う場合、アクセス権限の変更が面倒になります。
録画を始める前に、必ず以下を実施してください。
idコマンドを使って、ユーザーIDを調べます。
euser@pc:~$ id uid=1000(euser) gid=1000(euser) groups=1000(euser)
上記の場合は、uid=1000(euser)からユーザーIDが1000であることがわかります。
ユーザーIDをEPGStationのconfig.ymlに設定します。
以下の場所を開いて下さい。~/git/docker-mirakurun-epgstation/epgstation/config
config.ymlを開いて、調べたユーザーidを追加してください。
例えばユーザーIDが1000ならば、「uid: 1000」と追記して保存して下さい。
更に録画ファイルを入れるディレクトリ/media/tv_recordのオーナーをログインユーザーに変更してください。
例えばログインユーザーがeuserならば、
sudo chown euser /media/tv_record
変更後、リブートしてください。
問題なくシステムが立ち上がることを確認したら、EPGStationから録画を行ってください。
追加インストール情報
本記事の手順でEPGStationをインストールした後、参考になる記事は以下のとおりです。
ストレージの拡張について
トランスコードの最適化について
sambaについて
muninについて
全録サーバーについて
EPGStationのデータのバックアップとリストアについて
関連記事
コメント54件
ubunto初心者さん
EPGStationの仕様で、アクセス権はそうなりますね。そのままでも、視聴やコピーするには問題ないと思いますが。
なぜchmodするんですか?
ubunto初心者さん
ちょっと調べてみましたが、EPGStationのconfig.ymlの中で、グループやユーザー(gid、uid)を指定できるようです。
デフォールトがrootなんですね。
実を言うと、私も時々ファイル名を変更しようとして、「なんでroot?」と思うことはあります。
しかし、gid、uidを使ったことはないので、うまく使えるか確認してもらえると助かります。
ubunto初心者さん
先程試してみました。epgstation/config/config.ymlにuid: 1000
と入れて、リブートしたら、うまくいきました。
ありがとうございました。こちらも設定できました。
別なマシンでトランスコードするので、移動するためにchmodが必要でした。
ubunto初心者さん
できましたか。良かったです。
他のマシンでトランスコードですか、なるほど。
半年前に、i5-10400で地デジ6チャンネル全録でMP4トランスコードしましたが、1台で全部こなせました。
先日購入したi3-12100でもトランスコードは6倍速で、CPU温度も最高で70℃くらいに収まりました。
今後は、Ubuntu 22.04では、ffmpeg 4.4.1が標準でインストールできるので、qsvが簡単に使えるようになるかもしれません。
お世話になります、
前回のバージョンの記事を拝見させていただきながら、構築しました(お世話になりました。)
しかしながら、今回のバージョンへ移行する際に、以前の予約データ等も引き継ぎたく、
試行錯誤しました。(ubuntu自体理解してなかったので心が折れそうになりました)
下記コマンドにより解決しましたので報告です。
<旧環境>
cd /home//git/docker-mirakurun-epgstation/
docker exec -i -t epgstation-v2 bash
npm run backup
コンテナから抜ける ※1参照
sudo docker cp epgstation-v2:/app/
/home//git/docker-mirakurun-epgstation/epgstation/thumbnail
もバックアップ取っておいた方が良い
<新環境>※すべてインストール完了/起動してから
sudo docker cp epgstation-v2:/app/
docker exec -i -t epgstation-v2 bash
npm run restore
コンテナから抜ける ※1参照
※1コンテナから抜ける時は、Ctrlボタンを押しながら、Pキーを押して、その次にQキーを押すとデタッチすることができる。
ubuntu初心者にとっては、このようなことも難しく感じるので共有しておきます。
id1028さん
素晴らしい情報ありがとうございます。私もルールだけ新しい方に移したいと思ってました。
確かに、以下の情報がバックアップできると書いてありますね。
予約情報
録画済み番組情報
録画履歴
録画予約ルール
私の場合、予約ルール以外は必要ない(Plex Media Serverで管理)ので、
他は消す方法も考えたいです。
コメントでいろいろ気づくことが多く、ありがたいです。今後もよろしくお願いします。
お世話になります。
上記手順にしたがって実行していたのですが、手順6(PX-W3PE4使用)でどうやらmirakurunのインストールがうまく行っていないようです。以下に実行結果の最終部分をコピペします。
なにかお分かりになりましたらご教授いただきたいです。
———–
Successfully built b745ba99f964
Successfully tagged docker-mirakurun-epgstation_epgstation:latest
Recreating mirakurun …
Recreating mirakurun … error
ERROR: for mirakurun Cannot start service mirakurun: error gathering device information while adding custom device “/dev/px4video4”: no such file or directory
ERROR: for mirakurun Cannot start service mirakurun: error gathering device information while adding custom device “/dev/px4video4”: no such file or directory
ERROR: Encountered errors while bringing up the project.
termさん
PX-W3PE4というのは、px4video3までしかありません。px4video4がないのは、当然です。
PX-W3PE4で実行するスクリプトは、「bash 6-install-w.sh」です。再度確認して下さい。
simplelife様
夜分遅くに返信くださりありがとうございました。
エラーを見れば簡単に分かりましたね。
早とちりでコメントをしてしまい失礼しました。
確かに-qを実行していました。-wの実行で問題なくいけました。
今後ともよろしくお願いいたします。
termさん
速いですね。無事インストールできて良かったです。
まあ、ドライバの状態を判断すれば、最後のスクリプトは1つにできます。
1つにすれば、今回のようなことも起こりません。今後検討します、
PLEXのチューナーで視聴などをしていると
TVやブルーレイレコーダーよりもフレームレートが低く感じるのですが
これは仕方のない事なのでしょうか。
PT3などだと無い事なのでしょうか。
分かりますでしょうか。
アラレちゃん
フレームレートは感じるよりも、数値を確認してみてください。
現在、epgstationで録画した場合、tsもmp4も29.97fpsになっています。
録画したtsやmp4をVLCで開いて、コーデック情報を確認できます。
PT3とPLEXは、両方使っていますが、録画内容に違いはないです。
というより、PT3からPLEXに乗り換えたのは、特に違いがないと思ったからです。
はじめまして、便利に使わせていただいております。
素人質問かもしれませんが、もしご存知でしたら教えてください。
Ubuntu 22.04LTSとPX-Q3PE5の組み合わせで導入をしようとしております。
使用させていただいているスクリプト:temp-20220523T004118Z-001
5番目のスクリプトまでは問題がなかったのですが、6番目で6-install-q.shを
実行したところ下記のエラーが出ました。
ERROR: for docker-mirakurun-epgstation_mirakurun_1 Cannot start service mirakurun: error gathering device information while adding custom device “/dev/dvb”: no such file or directory
色々と調べてみたのですが、わからない状況でした。
もし対処法をご存知でしたら教えてください。
kuguさん、
情報ありがとうございます。実は、PX-Q3PE5は実機で確認していません。PX-Q3PE4と同じと考えていましたが、何か問題があるのかもしれません。
ちょっと調べてみます。
kuguさん
まず、~/git/docker-mirakurun-epgstationの中をみましょう。
docker-compose.ymlを開いてください。
mirakurun: の中の項目で、devices:を調べてください。
その部分をコメントで教えて下さい。
その中に、/dev/dvbはありますか?
御返事ありがとうございます。
docker-compose.ymlを確認いたしました。
—- docker-compose.yml
version: ‘3.7’
services:
mirakurun:
image: chinachu/mirakurun
cap_add:
– SYS_ADMIN
– SYS_NICE
ports:
– “40772:40772”
– “9229:9229”
volumes:
– ./mirakurun/conf:/app-config
– ./mirakurun/data:/app-data
environment:
TZ: “Asia/Tokyo”
devices:
– /dev/bus:/dev/bus
– /dev/dvb:/dev/dvb
restart: always
—-
となっておりました。
ここを、例えば、/dev/px4videoなどにすべきでしょうか?
よろしくおねがいします。
きちんとインストールができていないようです。
以下が、正常にインストールされた時のdocker-compose.ymlです。
version: ‘3.3’
services:
mirakurun:
container_name: mirakurun
build:
context: Mirakurun
dockerfile: docker/Dockerfile
image: chinachu/mirakurun
cap_add:
– SYS_ADMIN
– SYS_NICE
ports:
– “40772:40772”
– “9229:9229”
volumes:
– /etc/localtime:/etc/localtime:ro
– ./Mirakurun/config/:/app-config/
– ./Mirakurun/data/:/app-data/
environment:
TZ: “Asia/Tokyo”
devices:
– /dev/px4video0:/dev/px4video0
– /dev/px4video1:/dev/px4video1
– /dev/px4video2:/dev/px4video2
– /dev/px4video3:/dev/px4video3
– /dev/px4video4:/dev/px4video4
– /dev/px4video5:/dev/px4video5
– /dev/px4video6:/dev/px4video6
– /dev/px4video7:/dev/px4video7
– /dev/bus:/dev/bus
restart: always
logging:
driver: json-file
options:
max-file: “1”
max-size: 10m
mysql:
container_name: mysql-epgstation-v2
image: mariadb:10.5
volumes:
– mysql-db:/var/lib/mysql
environment:
MYSQL_USER: epgstation
MYSQL_PASSWORD: epgstation
MYSQL_ROOT_PASSWORD: epgstation
MYSQL_DATABASE: epgstation
TZ: “Asia/Tokyo”
command: –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci –performance-schema=false –expire_logs_days=1 # for mariadb
restart: always
logging:
options:
max-size: “10m”
max-file: “3”
epgstation:
container_name: epgstation-v2
build:
context: “./epgstation”
dockerfile: “debian.Dockerfile”
volumes:
– /etc/localtime:/etc/localtime:ro
– ./epgstation/config:/app/config
– ./epgstation/data:/app/data
– ./epgstation/thumbnail:/app/thumbnail
– ./epgstation/logs:/app/logs
– /media/tv_record:/app/recorded
environment:
TZ: “Asia/Tokyo”
depends_on:
– mirakurun
– mysql
ports:
– “8888:8888”
– “8889:8889”
#user: “1000:1000”
restart: always
volumes:
mysql-db:
driver: local
インストールの状態がおかしいですね。
~/gitの中のdocker-mirakurun-epgstationを削除して、
再度
euser@pc:~/temp/epg-plex$ bash 6-install-q.sh
を実行する方がいいでしょう。
ユーザーをrootにしているとか、今までにインストールを独自に実行して、~/gitの中のdocker-mirakurun-epgstationが残っていたとか、
とにかく、指示内容と異なった手順を実施しないと発生しないことです。
申し訳ありません。そもそも解凍をしたフォルダが間違っていたことが問題でした。
お騒がせして申し訳ありません。
スクリプトを読んで、必要なファイルを手でコピーし、docker-composeを実施したところ、
無事にインストールできました。
本当に申し訳ありませんでした。
kuguさん
解決できて良かったです。
今後も何か問題ありましたら、コメントください。
よろしくお願い致します。
こんにちは。本記事をもとに環境を構築しました。動作報告になります。
Ubuntuのポイントリリースが出たので機械学習環境のアップグレード兼、録画サーバー構築です。
OS:Ubuntu 22.04.1 LTS
使用機材:自作機、PX-W3PE5
導入記事内容とほぼ同様に構築。
変えたところ
docker-composeをv1からv2に変更。コンテナビルドが若干速くなります。v1はすでにメンテナンスフェーズ?なので普段使っているv2を使用しました。
docker composeのYAMLファイルでbind mount されているところ、short syntaxからlong syntaxに変更。本記事の通りに実行すれば事故らないのですが、short syntaxだとマウント先にディレクトリがない場合、ディレクトリが自動作成されるため。マイグレーションやコンテナ停止した場合の運用を考えてのことです。
gidとuid付加。ホスト側のボリュームにroot userのみで色々作られるのが嫌なので付加。
以上です。
調理家電さん
動作報告ありがとうございます。
docker composeは、v2移行期間中なんですね。
今のスクリプトだとdocker 20.10.12しかインストールできないので、
20.10.14にあげないとだめですね。
gidは付加する必要があります。rootで書き込まれると、いろいろと弊害があり、数日前に必ずインストールしたユーザーのIDを入れるように、注意書きを追加しました。
それから、mirakurun 3.9.0-rc.2 で安定動作の検証ができたので、正式リリースされたら、3.8.0から3.9.0に変更しようと思っています。
docker composeとmirakurun 3.9.0は、タイミングを見て、アップデートしたいと思います。
はじめまして、こちらのスクリプトを利用させていただいて環境を構築しました。
番組表の取得や視聴は問題なくできるのですが、録画だけができない状況になっています。
操作としては、EPGstationの番組表から番組を右クリックして、予約を押すと赤枠になるのですが、しばらくすると消えてしまい、録画もされていません。
理由や調べ方などが全く分からず、質問をさせていただきました。
どうすればいいのか、ご教示いただければ助かります。
taktakさん
録画できないのは、ファイルが書き込めない可能性が高いと思います。録画先のフォルダのアクセス権を誰でもできるようにして、確認してみてください。
taktakさん
私もうっかりしていたのですが、最近追加したuidの変更をすると、録画ファイルが書き込めなくなります。
/media/tv_record のオーナーをログインユーザーに変えるのが、一番簡単ですね。
例えば、ユーザー名がeuserならば、
sudo chown euser /media/tv_record
とすればいいと思います。
はじめまして。こちらのインストールスクリプトを使わせていただき、大変簡便に構築を行うことができました。
当方環境はe-BettermのDTV02A-1T1S-Uですが、以下設定ファイル3本の修正で構築できました。
シェルスクリプト
・5-checktuner.sh
・6-install.sh
yamlファイル
・new-docker-compose.yml
貴重な情報提供に感謝いたします。
ありがとうございました。
いさおさん、
e-Betterですか。ドライバが対応しているので、わずかな修正で済むんですね。
貴重な情報ありがとうございます。
先日別のページで質問させて頂いた島人です。
一度、OSから再インストールしたところ、epg-stationのLOGで下記のエラーがあり起動できてないようです。
OSはUbuntu 22.04.1 LTSで、ここに掲載されているスクリプトを5までは手順通り、6は1行ずつ手動で実行しています。
[2023-07-31T03:02:09.673] [FATAL] system – uncaughtException: TypeError: Cannot read properties of undefined (reading ‘sync’)
[2023-07-31T03:02:09.896] [FATAL] system – uncaughtException: Error: must call SocketIoManageModel initialize
よろしくお願いします。
島人さん
報告ありがとうございます。
EPGStationは、7月29日に2.7.0にアップデートしています。
このスクリプトもリリースしてから、1年2か月ほど経っています。
全体を見直してみます。
うちの環境でepg-stationが動かなくなったのは7月上旬になにも考えず、ubuntuで全てのパッケージを更新してからですね。22.04.2 でした。
その時のログファイルは見ずに再インストールしてしまいました…。
島人さん
こちらでも、アップデートして、以下の設定になっています。
PRETTY_NAME=”Ubuntu 22.04.2 LTS”
NAME=”Ubuntu”
VERSION_ID=”22.04″
VERSION=”22.04.2 LTS (Jammy Jellyfish)”
本日、テストマシンで確認してみます。
島人さん
こちらでも再現しました。EPGStationの変更が関係しているようです。
これから調査して、とりあえず動くようにしてみます。
島人さん
koron393という方が、問題を解決してくれました。
EPGStation 2.7.0にversion upする際に、ミスがあったようです。
とりあえずは、epgstation/dataの下に、uploadというディレクトリを作成すれば、動くようです。
そのうち、EPGStationが修正されれば、何もしなくても動きます。
ツールありがとうございます。
>>epgstation/dataの下に、uploadというディレクトリを作成すれば、動くようです。
初めてのインストールでうまく動かず悩んでいたところこちらの情報大変助かりました。
ポンさん
本来なら、悩むことなくあっという間に使えるようになるんですが。。。
EPGStationの方で修正がすめば、従来のようにすんなりインストールできます。
無事動きました。
ありがとうございます。
島人さん
動いて良かった。
この問題に気がついたのは、島人さんだし、
ここにコメントしてくれたことが、
解決のきっかけになりました。
こちらこそ、ありがとうです。
お世話になっています。
今度はmirakurunが動かなくなったみたいです。8/10あたりから録画できなくなっていたみたいです。
osから再インストールしても再現しました。
コンテナは動いてるようですが、
$ curl http://127.0.0.1:40772
curl: (56) Recv failure: Connection reset by peer
となります。
epgstationのログは
[INFO] system – check mirakurun
で埋め尽くされています。
—–CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4283a77b1ecf docker-mirakurun-epgstation_epgstation “npm start” 13 minutes ago Up 3 minutes 0.0.0.0:8888-8889->8888-8889/tcp, :::8888-8889->8888-8889/tcp epgstation-v2
3ded86f38dd5 chinachu/mirakurun “docker-entrypoint.s…” 13 minutes ago Up 3 minutes 0.0.0.0:9229->9229/tcp, :::9229->9229/tcp, 0.0.0.0:40772->40772/tcp, :::40772->40772/tcp mirakurun
bad560e57d1b mariadb:10.5 “docker-entrypoint.s…” 13 minutes ago Up 3 minutes 3306/tcp
よろしくお願いします。
※うまく投稿できなかったみたいなので、文章を削って再投稿します。
お世話になっています。
今度はmirakurunが動かなくなったみたいです。8/10あたりから録画できなくなっていたみたいです。
osから再インストールしても再現しました。
コンテナは動いてるようですが、
$ curl http://127.0.0.1:40772
curl: (56) Recv failure: Connection reset by peer
となります。
epgstationのログは
[INFO] system – check mirakurun
で埋め尽くされています。
島人さん
前回チェックした8月6日以降、Mirakurunは変更はされていません。
こちらでは、EPGStation2.7.0で動作確認がとれていました。
その後、2.7.1がリリースされて問題が解決したはずでしたが、確認はしていませんでした。
私は、8月12日にdocker Compose V2でインストールを試みましたが、なぜかmirakurunが立ち上がりませんでした。
エラーは、以下のとおり
[+] Running 3/4
✔ Network docker-mirakurun-epgstation_default Created 0.2s
✔ Container mysql-epgstation-v2 Started 1.2s
⠿ Container mirakurun S… 1.3s
✔ Container epgstation-v2 Created 0.1s
Error response from daemon: error gathering device information while adding custom device “/dev/px4video0”: no such file or directory
docker Compose V2のせいだと思ったのですが、そのまま放置して、1週間経ってしまいました。
これから確認してみますが、2.7.1に上げた際に、mirakurunが動かなくなった可能性があります。
検証してみます。
島人さん
現在のスクリプトでインストールしました。問題ありませんでした。
Mirakurun 3.8.0
EPGStation 2.7.1
島人さんがインストールできない理由は、こちらではわかりません。
OSからインストールしなおす必要はありません。
再インストールの手順
docker-compose down
/git/docker-mirakurun-epgstationをフォルダごと削除する。
再起動する。
:~/temp/epg-plex$ bash 5-checktuner.sh でドライバ確認
問題なければ、
~/temp/epg-plex$ bash 6-install-q.shなどを実行です。
再インストールしてみてください。
ありがとうございます。
コンテナの再インストールでは直らず、結局、OS再インストールしました。
そうしましたら、無事起動しました。
原因は分からずじまいですが…。
そして、これを期に録画環境を実機から仮想環境にしました。
ホストOSはproxmoxです。以前はESXiを使っていたのですが、カードリーダーがそのままではうまく使えなかったのですが、proxmoxでは特に問題なくパススルーできています。
島人さん
原因わからず起動は、残念。コンテナの問題でないということは、やはりチューナードライバのような気がします。
Proxmoxなかなか良さそうですね。仮想環境なら、イメージをそのまま公開すれば、もっと簡単になりそうですね。
ところで、mirakurunもEPGStationも最新版で問題なかったので、2023年8月版としてコンテナ部分のインストールだけバージョンアップしました。
私はubuntu server(CUI)で構築しているんですが、もしかしたら、なにかのコマンドのときにsudoを付け忘れていたのかも…。
島人さん
「sudoを付け忘れ」は、scriptを使っているならないと思います。
ただ、私もEPGStationが突然動かなくなった時があります。
調べたら、logディレクトリのオーナーがrootだったり、logファイルのオーナーがrootでした。
アクセス権を変えたら、なんの問題もなく、動きました。
お世話になっています。
録画環境のパーティションを拡大しようとしたところ、
インストールで Done まではいったのですが
epgstationのログで下記が多量に記録されていて起動できません。
「[INFO] system – check mirakurun」
コンテナを再インストールしてもおなじでした。
島人さん
「[INFO] system – check mirakurun」が出ているということは、mirakurunが動いていないのでは?
それと、この記事にコメントということは、古いscriptを使っているということですか。
現在は、このscriptは配布していません。2023年8月版で確認し、そちらの記事でコメントしてください。
すいません。このページ開きっぱなしだったので、こちらのスクリプトを使っていました。
インストールは問題なくできました。録画もできますが/media/tv_recordに録画ファイルがありません。uid 所有者などは設定しています。増設HDDを/media/tv_recordでマウントしています。
ryuzanさん
https://www.digital-den.jp/simplelife/archives/6928/
にある手順でやりなおせば、確実にマウントできると思います。
お試しください。
ryuzanさん
それから、/media/tv_recordのアクセス権を確認してください。
最初はrootがオーナーでアクセス権も書き込みはオーナーだけになっています。
simplelife様
ありがとうございました。
/mnt/dataに録画ファイルができました。
minidlanaをインストールしましたが録画ファイルを認識してくれなかったので助かりました。
epgstarionは以前にもほかのサイトを参考にして構築しましたが殆どオートマチックに構築できるは本当にすごいと思います。
ryuzanさん
解決して良かったです。
今後も何か不具合があったらお知らせください。
ありがとうございました。環境構築完了しました。
外付けHDDに録画ができたのですが、アクセス権が
612616 -rw-r–r– 1 root video 627311068
となり、毎回chmodで変更しております。
録画の状態でアクセス権の設定は可能でしょうか。
素人質問で申し訳ございません。回答いただけたら幸いです。