Rasberry Pi 5を使って録画サーバー + NASの構築 チューナー編

この記事はチューナー編です
それ以外の記事は以下
1. [導入編](https://qiita.com/tutumun/items/7b8af6ce5ee9fae89b5a)
2. [NAS構築編](https://qiita.com/tutumun/items/31c9b276334c0f94332b)
3. [チューナー編(本記事)](https://qiita.com/tutumun/items/10d7917771b363418f3e)
4. [あとがき+α編](https://qiita.com/tutumun/items/757e0c6f2cba99c076ae)
## チューナー編
ラズパイのIPアドレスは
192.168.100.100
とします

### 必要なパッケージのインストール
#### Dockerのインストール
```
sudo apt install -y wget dkms git docker.io docker-compose
sudo usermod -aG docker $USER
sudo reboot
```
#### カードリーダーのインストール
```
sudo apt install -y libpcsclite-dev pcscd pcsc-tools libccid
cd ~/git
```
#### チューナードライバのインストール
```
sudo apt install -y gdebi
wget https://github.com/tsukumijima/px4_drv/releases/download/v0.5.2/px4-drv-dkms_0.5.2_all.deb
sudo gdebi -n ./px4-drv-dkms_0.5.2_all.deb
sudo reboot
```
:::note warn
記事作成時点ではバージョン 0.5.2 が最新です。
最新バージョンは px4_drv の GitHub の README を確認し、適宜バージョンを変更してください。
:::

#### インストール後の確認
再起動後、以下のコマンドを実行し、ドライバが正常にロードされているか確認します。
```
lsmod | grep -e ^px4_drv
```
px4_drv xxxxxx 0 のように表示されれば正常です。
表示されない場合は、以下のコマンドを実行し、再度確認してください。
```
sudo modprobe px4_drv
```

### EPGStation & Mirakurun のインストール

```
cd ~/git
git clone https://github.com/l3tnun/docker-mirakurun-epgstation.git
cd docker-mirakurun-epgstation
```
設定ファイルのテンプレートをコピー
```
cp docker-compose-sample.yml docker-compose.yml
cp epgstation/config/config.yml.template epgstation/config/config.yml
cp epgstation/config/enc.js.template epgstation/config/enc.js
cp epgstation/config/operatorLogConfig.sample.yml epgstation/config/operatorLogConfig.yml
cp epgstation/config/epgUpdaterLogConfig.sample.yml epgstation/config/epgUpdaterLogConfig.yml
cp epgstation/config/serviceLogConfig.sample.yml epgstation/config/serviceLogConfig.yml
```

Mirakurun のリポジトリもクローン
```
git clone https://github.com/Chinachu/Mirakurun
```

### HDDのマウント
OMVで設定しているため不要かもしれませんが、一応実施
```
sudo mount /dev/sda1 /OMVで設定した共有フォルダの絶対アドレス/共有フォルダ名
sudo nano /etc/fstab
```
/etc/fstab の編集内容は以下
```
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /OMVで設定した共有フォルダの絶対アドレス/共有フォルダ名 ext4 defaults,noatime 0 0
```

### 各種設定ファイルの編集
tuners.yml, docker-compose.yml, channels.yml の設定を行います。
https://kouinet.com/2024/05/12/vim%e3%81%a7%e7%b7%a8%e9%9b%86%e3%81%97%e3%81%9f%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab/
を参考に編集を行ってください。

一応当方の環境用のファイルは以下の Git リポジトリに置いてありますので、参考になれば
https://github.com/tutumun/Raspi_tv_nas_yml

tuners.yml, docker-compose.yml：PX-W3PE4 に変更済み
channels.yml：多摩地区の設定（テレ玉・tvk 追加）
docker-compose.yml の epgstation: の volumes: 修正箇所を明示

#### Dockerfile の編集
```
sudo nano ~/git/docker-mirakurun-epgstation/Mirakurun/docker/Dockerfile
```

#### tuners.yml の編集
```
sudo nano ~/git/docker-mirakurun-epgstation/Mirakurun/config/tuners.yml
```
ご自身の環境に合わせて編集してください。
PX-W3PE4 は 地デジ2, 衛星2 のため、tuners.yml の設定は S1/2 T1/2 のみでOKです。
#### channels.yml の編集
```
sudo nano ~/git/docker-mirakurun-epgstation/Mirakurun/config/channels.yml
```
東京向けの設定になっています。
東京在住の場合はそのまま使用できますが、他の地域にお住まいの方は、検索で探すか isdbscan を使用してください。

#### docker-compose.yml の編集
```
sudo nano ~/git/docker-mirakurun-epgstation/docker-compose.yml
```
以下の3か所を修正してください
1. mirakurun: の devices: 設定
自身のチューナー数に合わせて設定
2. epgstation: の volumes: 設定
\- /media/tv_record:/app/recorded
の行を以下のように修正
\- /OMVで設定した共有フォルダの絶対アドレス/共有フォルダ名:/app/recorded
3. samba: の削除
OMV で Samba を管理しているため、samba: セクションを削除

### Docker のビルド・起動
```
cd ~/git/docker-mirakurun-epgstation
docker-compose pull
docker-compose build --no-cache
docker-compose up -d
```
ビルドには20分程度かかりました。
ビルド中に Warning や Notes の赤文字が出ますが、基本的には問題ありません。

完了後、以下のコマンドで動作確認を行います。
```
docker ps -a
```
以下のコンテナが起動していれば成功
- epgstation-v2
- mysql-epgstation-v2
- mirakurun
また、以下のURLにアクセスして確認してください。
```
http://192.168.100.100:40772
http://192.168.100.100:8888
```
へアクセスできればOK
出来ない場合は一度
```
docker-compose down
```
を行ってから
編集したymlファイルたちを見直してみてください。
そして再度
```
cd ~/git/docker-mirakurun-epgstation
docker-compose pull
docker-compose build --no-cache
docker-compose up -d
```
を行ってみてください。

チューナー編以上となります。
あと1本あとがき＋isdbscanの使い方編がありあります。
既にこれまでで動いているなら読まなくても大丈夫です。