LoginSignup
26
27

More than 5 years have passed since last update.

Chinachu + Mirakurun をdockerに閉じ込めた話

Last updated at Posted at 2016-07-02

3行纏め

利用方法

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になると情報を頂きましたので、変更しました。

26
27
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
27