未完 MirakurunをLXCコンテナで動かすメモ(on Proxmox)
更新記事があります。
https://zenn.dev/yakumo/articles/4d9adb8a4a338e
注意:この手順は失敗しています。
- USBカードリーダーをコンテナに見せる方法がわからなかった
- DVBデバイスをコンテナに公開することはできたが、自動的に割当ができなかった。手動では割当可能
環境
- PT3
- Proxmox VE 7.0 (Debianベース)
コンテナ作成
とりあえず Debian 10のコンテナを作る。これはGUIから可能ので省略
コンテナにDVBデバイスを追加
コンテナ起動後にホスト側で以下のコマンドを実行。
これを自動化することができなかった。lxc.hook.post-start はProxmoxではうまく動かなかった。 Proxmox独自の hookscript を使うことでうまく行きそうな感じはあるのだが、今度はhookscriptをどう指定するのかわからない。 hookscript: local:hookscript.pl という記述は見かけたのだが…
Mirakurunコンテナはそうそう再起動しないので、 pct stop/start <ID> と以下の記述を組み合わせれば半自動くらいにはなるのでヨシとした。
1 | CTID=110 // ProxmoxのIDと合わせる |
Node.js
https://github.com/nodesource/distributions/blob/master/README.md
上記の通り。
- curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
- apt-get install -y nodejs
Mirakurun
https://github.com/Chinachu/Mirakurun/blob/master/doc/Platforms.md
- apt install build-essential git
- npm install pm2 -g
- npm install mirakurun -g –unsafe-perm –production
POINT: arib-b25-stream-test はあとで入れるのでここで入れない
Config
- cd /usr/local
- git clone https://github.com/Chinachu/dvbconf-for-isdb.git
- cd etc/mirakurun
- channels.ymlは省略。 channel: ‘BS1_1’ のような形式で入っている場合、
BS01_1のように修正する必要がある。(dvbv5_channels_isdbs.confに登録されている名前と合わせる必要がある)
1 | - name: PT3-S0 |
libaribb25
https://github.com/tsukumijima/libaribb25
- git clone https://github.com/tsukumijima/libaribb25.git
- cd libaribb25
- (中身確認するのであれば CMakeLists.txtをチェック)
- cmake -B build -DCMAKE_VERBOSE_MAKEFILE=1
- cd build
- make
- make install
arib-b25-stream-test(試したときはファイルサイズ22KBの実行ファイルだった)
USBカードリーダー
/etc/pve/lxc/<CTID>.conf にUSBデバイスのIDを書いたりすると転送可能なようだがうまくいかなかった。ここでギブアップした。
1 | lxc.mount.entry%3A /run/pcscd mount/run/pcscd none bind,ro,create=dir |
ちなみに…(2022/02/02追記)
現在は、Proxmoxに直接nodejsとmirakurunを導入しています。
USBカードリーダーも問題なく動いてとりあえず安定稼働しています。
いくらdebianベースとはいえ、ハイパーバイザーに余計なものを載せちゃってるのでちょっと微妙なんですが…