2018-03-26T04:59:33.000+09:00

PLEXチューナ + Chinachu gamma + CentOS 7で録画サーバを作るAnsible Playbook

約3年ぶりに眠ってる録画サーバを復活させようとした時のメモ。
今回利用したのは、

など。
注意点として、今回 PX-W3PE, PX-Q3PE などの接尾辞が4でないチューナは扱えません。これはCentOS 6向けドライバしか提供されておらずCentOS 7で利用できないこと、またCentOS 6は既にDockerのサポートが切れておりdocker-composeなどの導入が困難なためです。

ちなみに、多分pt3とかでもいけます。

1. CentOS 7入れる

サーバなのでMinimalがよいです。以降はOS導入直後のクリーンな環境を前提に進めます。
そういったalternativeなメディアはこちらから取ってくるとよいと思います。
インストーラ時点でインターネットに接続しておくと、次の手順が楽です。

2. gitansible入れる

OSを入れたら以下コマンドを実行すればインストールできると思います。インターネット接続済みであることが前提です。
gitは標準リポジトリから取得できますが、ansibleepelからの取得になります。そのためepel-releaseを追加していることに注意してください。

yum update -y # 各種パッケージの更新
# ...
# Complete!
yum install -y git epel-release
# ...
# Complete!
yum install -y ansible
# ...
# Complete!

なお、ansibleは後述のplaybookを実行するため、gitはそのplaybookを取得するために使います。そのため録画サーバに直接関係はありません。
終わったらカーネルなども更新されてるかもしれないので、再起動しておきます。

3. 作っておいたPlaybookをcloneする

セットアップを全て自動化できるようにAnsibleのPlaybookにまとめておきました。サーバ構築の肝は全部勝手にやれると思います。

cd ~ # 念の為
git clone 'https://github.com/S64/ansible-chinachu-gamma-playbook.git'
cd ansible-chinachu-gamma-playbook # 入る

4. READMEやplaybookのソースをよく読む

S64/ansible-chinachu-gamma-playbookを読み、playbookを実行することで具体的に何が行われるのか確認しておいてください。少し変わったことをしています。例えば、Chinachu/docker-mirakurun-chinachuをベースにカスタマイズしている、PLEXチューナ向けrecpt1recpx4としてインストールしているなどです。

気に入ったらGitHub上でStarを付けてください。

Star

5. playbookを実行する

rootでやりました。記事執筆時点では冪等性を担保してないので注意してください。

ansible-playbook 10_setup.yml

ドライバインストールなどの様々な面倒がここで全て完了します。気に入ったらStarを付けてください。

6. チューナの設定ファイルを記述する

Mirakurunではtuners.ymlに設定を記述します。このplaybookを利用した場合、設定ファイルの位置は /opt/chinachu/docker-mirakurun-chinachu/mirakurun/conf/tuners.yml になります。

具体的な設定内容はこちらをそのまま利用しても問題ありません。

cd /opt/chinachu/docker-mirakurun-chinachu/mirakurun/conf
vi tuners.yml # `vi`が難しければ`nano`をインストールするとよいかも

7. 再起動して使い始める

再起動すると、自動的にChinachu / Mirakurunがビルドされ、起動します。
ビルドがそれなりに長いので、初回は起動に時間が掛かります。もし手元でビルドが成功することを確認しておきたい場合は、再起動する前に以下を実行するとよいです。

cd /opt/chinachu/docker-mirakurun-chinachu
docker-compose build

おしまい

もしわからないことがあったり、特に壊れている場合はGitHubのIssueまたはTwitterで教えてください。Playbook側管轄の内容なら対応したいです。