Debian 10 Busterで録画環境を構築する
Debianはあまりにも更新を怠るとapt updateしたときに404が帰ってくることを知った。ちょうど時間があったのでリポジトリを書き換えてアップデートするくらいなら、いっそクリーンな環境で構築し直そう。というわけで次の環境で構築してみる。
環境
- Debian 10 Buster
- Mirakurun + EPGStation on Docker
- PT3
もくじ
Debianのインストール
実は環境構築時点でDebian 10はリリースされていないのでテスト版をダウンロードしてくる。
OSイメージをダウンロードしたらディスクなりUSBに焼いてインストールする。デスクトップ環境はいらないのでインストール時に除外した。
Docker CE のインストール
いつの間にかDockerがCEとEEに分離してて何が違うんだろうと思っていたら、CEはCommunity Editionでいわゆる無償版、EEはEnterprise Editionで商用版らしい。いずれにしろDebianにはCEしかインストールできないようだが、それはさておき公式の手順に沿って進める。
まっさらなDebianにはsudoが入ってないのでまずsudoを入れる。
# apt install sudo
visudoでログインユーザーのsudoを許可する。
# visudo mdoca ALL=(ALL:ALL) ALL
あとは手順通りに進める。
$ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Dockerのfingerprintを検索してキーがあることを確かめる。
$ sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
Docker Composeのインストール
これも公式の手順に従って導入する。
docs.docker.com
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose
Mirakurun、EPGStationの導入
便利なことにMirakurun + EPGStationのDockerコンテナがあるのでそちらを使うことにする。
github.com
Readme.mdを見ると前提条件にPT3+m-tsudo/pt3の利用を想定と書いてあるので、ホストOSにm-tsudo/pt3ドライバを導入する。
$ sudo apt install git build-essential dkms $ git clone https://github.com/m-tsudo/pt3.git $ cd pt3 $ make $ sudo make install $ sudo bash ./dkms.install $ sudo echo "blacklist earth_pt3" >> /etc/modprobe.d/blacklist.conf $ sudo reboot now
再起動後、PT3ドライバがロードされていることを確かめる。
$ lsmod | grep pt3 pt3_drv 53248 2
Readme.mdに書かれている通りに進める。
$ git clone https://github.com/l3tnun/docker-mirakurun-epgstation.git
$ cd docker-mirakurun-epgstation
$ sudo docker-compose pull
$ sudo docker-compose build
デフォルトのチャンネル設定だとMXが受信できないので16から20に変更する。
$ vim mirakurun/conf/channels.yml - name: MX type: GR channel: '20'
カードリーダーのパスを確かめる。
$ lsusb Bus 002 Device 002: ID 4971:8017 SimpleTech Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 04e6:5120 SCM Microsystems, Inc. SCR331-DI SmartCard Reader Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ここではBus 001 Device 002がカードリーダーである。
構成ファイルのコメントアウトされている restart や user の設定やカードリーダーのパスなどを適宜変更する。
$ vim docker-compose.yml devices: - /dev/pt3video0:/dev/pt3video0 - /dev/pt3video1:/dev/pt3video1 - /dev/pt3video2:/dev/pt3video2 - /dev/pt3video3:/dev/pt3video3 - /dev/bus/usb/001/002
設定し終えたらコンテナを起動する。
$ sudo docker-compose up -d
ブラウザから録画機にアクセスしてメイン画面が表示されればOK。始めは番組表が空だが、しばらく待つと表示される。それでも実は動いてないんじゃないかって不安になるので
$ sudo docker-compose logs -f
でログを眺めてエラーが出てないことを確かめる。
完成