サーバー設定の忘備録8 mirakurun+epgstation編

参考は公式HPから。

GitHub – l3tnun/docker-mirakurun-epgstation: Mirakurun + EPGStation on Docker

あいかわらず、スクリプトモドキを貼り付けて、注意点は以下へ。

mkdir -p ~/docker & cd $_

git clone https://github.com/l3tnun/docker-mirakurun-epgstation.git
cd docker-mirakurun-epgstation

#以下のファイルのコピーはバインドボリュームの場所に変更しています./var/docker

PUID=`id -u`
PGID=`id -g`

#cp docker-compose-sample.yml docker-compose.yml
sudo cp epgstation/config/enc.js.template /var/docker/epgstation/config/enc.js
sudo cp epgstation/config/config.yml.template /var/docker/epgstation/config/config.yml
sudo cp epgstation/config/operatorLogConfig.sample.yml /var/docker/epgstation/config/operatorLogConfig.yml
sudo cp epgstation/config/epgUpdaterLogConfig.sample.yml /var/docker/epgstation/config/epgUpdaterLogConfig.yml
sudo cp epgstation/config/serviceLogConfig.sample.yml /var/docker/epgstation/config/serviceLogConfig.yml
#docker-compose run --rm -e SETUP=true mirakurun


#defaultのdocker-compose.ymlを保存.

#mv docker-compose.yml docker-compose.yml.ori




cat << EOF > docker-compose.yml
version: '3.7'
services:
  mirakurun:
    image: chinachu/mirakurun
    cap_add:
      - SYS_ADMIN
      - SYS_NICE
    ports:
      - "40772:40772"
      - "9229:9229"
    networks:
      openvpn-network:
        ipv4_address: 172.20.0.3
        aliases:
          - mirakurun.example.com
    volumes:
      - /var/docker/mirakurun/conf:/app-config
      - /var/docker/mirakurun/data:/app-data
    environment:
      - TZ="Asia/Tokyo"
    devices:
      - /dev/bus:/dev/bus
      - /dev/dvb:/dev/dvb
    restart: always
    logging:
      driver: json-file
      options:
        max-file: "1"
        max-size: 10m

  mysql:
    image: mariadb:10.5
    # image: mysql:8.0 # 囲み文字を使用する場合
    networks:
      openvpn-network:
        ipv4_address: 172.20.0.4
        aliases:
          - mirakurun.mysql.example.com
    volumes:
      - /var/docker/mirakurun/mira_sql:/var/lib/mysql
    environment:
      MYSQL_USER: epgstation
      MYSQL_PASSWORD: epgstation
      MYSQL_ROOT_PASSWORD: epgstation
      MYSQL_DATABASE: epgstation
      TZ: "Asia/Tokyo"
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --performance-schema=false --expire_logs_days=1 # for mariadb
    # command: --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_as_ci --performance-schema=false --expire_logs_days=1 --default-authentication-plugin=mysql_native_password # for myql
    restart: always
    logging:
      options:
        max-size: "10m"
        max-file: "3"

  epgstation:
    build:
      context: "./epgstation"
      dockerfile: "debian.Dockerfile"
    networks:
      openvpn-network:
        ipv4_address: 172.20.0.5
        aliases:
          - epgstation.example.com
    volumes:
      - /var/docker/epgstation/config:/app/config
      - /var/docker/epgstation/data:/app/data
      - /var/docker/epgstation/thumbnail:/app/thumbnail
      - /var/docker/epgstation/logs:/app/logs
      - /var/recorded:/app/recorded             #ここだけちょいとディレクトリが違うのは,別のHDDをマウントしたいから.
    environment:
      - TZ="Asia/Tokyo"
    depends_on:
      - mirakurun
      - mysql
    ports:
      - "8888:8888"
      - "8889:8889"
    user: "1000:1000"
    devices:
      - /dev/dri:/dev/dri
    restart: always

networks:
  openvpn-network:
    external: true

    
EOF


docker-compose build --no-cache

docker-compose run --rm -e SETUP=true mirakurun

docker-compose up -d


#チャンネルスキャン


#curl -X PUT "http://localhost:40772/api/config/channels/scan?type=GR&setDisabledOnAdd=false&refresh=true" && 
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=BS&setDisabledOnAdd=false&refresh=true" && 
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=CS&setDisabledOnAdd=false&refresh=true"

#config.ymlのrecordedFileExtensionをm2tsからtsに変更すれば拡張子が変わる?

注意点は、

  • ユーザーIDとグループIDを取得してその数字でコンテナを動かすようにしているが、これで正しいのか不明。
  • バインドマウントの先が公式とは違うので、準備されたshは利用できないため、内容をチマチマと変更して実行する。
  • IPアドレスを指定してるのは、openvpnを通して繋ぐため、固定にしていたほうが接続しやすい。かも。
  • 8888番ポートを使ってepgstationに入るが、このポートをルーターで公開すると、全世界に制限なしに公開してしまうので、ルーターで8888番を切っておかないと捕まってしまいます。
  • さいごに記載しているcurlはチャンネル更新。かなり時間がかかります。地上波、BS、CSと繋いでるので、必要な部分だけやって下さい。
  • docker-compose upする前に、recordedFileExtension(つまり録画ファイルの拡張子)をTSに変更しておく。必要ない人はm2tsで録画される。

カテゴリー: Linux、サーバー, PC関連 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA