3行纏め
- https://github.com/h-mineta/docker-mirakurun-chinachu
- ホスト側の環境は汚れず、かつ環境依存が大幅に減って良い感じ
- 週末は犠牲になったのだ...
利用方法
GithubのREADME.mdを読んでください
[参考] CentOSで1から構成する場合
下記構成を想定しています
- CentOS 7 x86_64
- PT3
- SmartCard Reader SCR3310-NTTCom
CentOS 最小インストール後、下記順序で設定を進めることでMirakurun & Chinachuの起動が完了します。
# SELinux disable
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
# RPM Update
sudo yum -y update
# PT3 Driver install
sudo mkdir -p /usr/local/src
sudo chown root:wheel /usr/local/src
sudo chmod 775 /usr/local/src
cd /usr/local/src
sudo yum -y install git kernel-headers kernel-devel make gcc wget
git clone https://github.com/m-tsudo/pt3.git
cd pt3
make
sudo make install
sudo rpm -Uhv http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-7.noarch.rpm
sudo sed -i 's/^enabled=.*$/enabled=0/' /etc/yum.repos.d/epel.repo
sudo yum -y --enablerepo=epel install dkms
sudo ${SHELL} ./dkms.install
sudo sh -c "echo 'blacklist earth-pt1' > /etc/modprobe.d/blacklist-ptx.conf"
sudo sh -c "echo 'blacklist earth-pt3' >> /etc/modprobe.d/blacklist-ptx.conf"
# Disable pcscd
#sudo yum -y install pcsc-lite
sudo systemctl disable pcscd
#sudo systemctl start pcscd
# おまけ Sync NTP
sudo yum -y install chrony
sudo systemctl enable chronyd
sudo systemctl start chronyd
# Reboot
sudo reboot
#----------------------------------------
# docker install
curl -fsSL https://get.docker.com/ | sh
sudo usermod -aG docker `whoami`
sudo systemctl enable docker.service
sudo systemctl restart docker.service
# docker-compose install
sudo curl -o /usr/local/bin/docker-compose -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m`
sudo chmod +x /usr/local/bin/docker-compose
# Firewallを開ける
sudo firewall-cmd --add-port 40772/tcp --permanent
sudo firewall-cmd --add-port 10772/tcp --permanent
sudo firewall-cmd --add-service mdns --permanent
sudo systemctl reload firewalld
git clone https://github.com/h-mineta/docker-mirakurun-chinachu tvs
cd tvs
docker-compose up -d
ねっ、簡単でしょう?
あとがき
Dockerfile自体は先週には完成していましたが、スマートカードリーダーの利用について時間が掛かってしまいました。
当初はホストマシンでpcscdを起動した後に、pcscdのUNIX domain socketをMirakurunのコンテナで利用することを計画していたのですが、カードリーダーを認識できず停滞していました。
未だに原因不明ですが、最終的にはMirakurunコンテナ内でpcscdを動かすことで解決しました。
なお、今回からMirakurunのサービスポートは36960/tcpとなっています。
語呂合わせでミラクル感ある番号になってて良いと思っています。
Mirakurunは公式で40772/tcpになると情報を頂きましたので、変更しました。