約3年ぶりに眠ってる録画サーバを復活させようとした時のメモ。
今回利用したのは、
- x86_64系サーバ (ベアメタル前提)
- PLEX社製USBデータ供給チューナ
- ICカードリーダ
- SCR3310-NTTComを使いましたが、SCR3310/v2.0でも平気かもしれません
など。
注意点として、今回 PX-W3PE, PX-Q3PE などの接尾辞が4
でないチューナは扱えません。これはCentOS 6向けドライバしか提供されておらずCentOS 7で利用できないこと、またCentOS 6は既にDockerのサポートが切れておりdocker-compose
などの導入が困難なためです。
ちなみに、多分pt3とかでもいけます。
1. CentOS 7入れる
サーバなのでMinimalがよいです。以降はOS導入直後のクリーンな環境を前提に進めます。
そういったalternativeなメディアはこちらから取ってくるとよいと思います。
インストーラ時点でインターネットに接続しておくと、次の手順が楽です。
2. git
とansible
入れる
OSを入れたら以下コマンドを実行すればインストールできると思います。インターネット接続済みであることが前提です。
git
は標準リポジトリから取得できますが、ansible
はepel
からの取得になります。そのため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チューナ向けrecpt1
をrecpx4
としてインストールしているなどです。
気に入ったらGitHub上で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側管轄の内容なら対応したいです。