ubuntu
カテゴリ
録画管理ソフト EPGStation
2026/03/27 23時tv
mirakurun EPGStationの公式イメージ(l3tnun/epgstation:master-debian)は、これしかなく、このためにDokerはdebian版を選択したが、ホストは Ubuntu 24.04 LTS対応 ffmpeg v6.1.1(libavutil.so.58)で、Docker内の、Debian 12ベース対応 ffmpegv5.1.8(libavutil.so.57)と、喰違っているので、後半のエンコード時に苦労した。

EPGStation ディレクトリの作成
mkdir -p /mnt/data/docker/epgstation
cd /mnt/data/docker/epgstation
mkdir -p config data logs
mkdir -p /mnt/data/PT2

docker-compose.yml の作成
nano /mnt/data/docker/epgstation/docker-compose.yml
services:
  epgstation:
    build: /mnt/data/docker/epgstation-custom
    container_name: epgstation
    restart: "unless-stopped"
    network_mode: host
    volumes:
      - ./config:/app/config
      - ./data:/app/data
      - ./logs:/app/logs
      - /mnt/data/PT2:/mnt/data/PT2
      - /mnt/data/TV:/mnt/data/TV
      - /dev/dri:/dev/dri
      - /mnt/data/backup/scripts/encode.sh:/usr/local/bin/epg-encode.sh
      - /usr/local/bin/chapter_exe:/usr/local/bin/chapter_exe:ro
      - /usr/local/bin/logoframe:/usr/local/bin/logoframe:ro
      - /usr/local/bin/join_logo_scp:/usr/local/bin/join_logo_scp:ro
      - /usr/bin/qsvencc:/usr/bin/qsvencc:ro
      - /mnt/data/backup/scripts:/mnt/data/backup/scripts:ro
      # ホストffmpeg/comskip wrapper vafee
    environment:
      - TZ=Asia/Tokyo
      - NODE_OPTIONS=--require reflect-metadata
      - LANG=ja_JP.UTF-8
      - LC_ALL=ja_JP.UTF-8
    devices:
      - /dev/dri:/dev/dri

config.yml の作成、EPGStation のWeb画面から動画視聴設定は削除した
nano /mnt/data/docker/epgstation/config/config.yml
port: 8888
mirakurunPath: 'http://localhost:40772'

recorded:
  - name: recorded
    path: '/mnt/data/PT2'

ffmpeg: /usr/bin/ffmpeg
ffprobe: /usr/bin/ffprobe

recordedFormat: '%SHORTYEAR%%MONTH%%DAY%%HOUR% [%HALF_WIDTH_CHNAME%] %HALF_WIDTH_TITLE%'

encodeProcessNum: 1
concurrentEncodeNum: 1

sqlite:
  busyTimeout: 30000
  regexp: true

excludeChannels:
  - 3273601408
  - 3273701033
  - 3273701034
  - 3273701416
  - 3273801041
  - 3274101065
  - 3274101066
  - 3274101448
  - 3273901049
  - 3273901183
  - 3274201073
  - 3274201074
  - 3274201456
  - 3274001057
  - 3274001058
  - 3274001440
  - 400142
  - 400143
  - 400152
  - 400153
  - 400162
  - 400163
  - 400172
  - 400173
  - 400531

epgUpdaterLogLevel: 'error'
epgUpdateIntervalTime: 480
reserveUpdateIntervalTime: 60
operatorLogLevel: 'error'
serviceLogLevel: 'error'
recordingFinishCommand: '/usr/local/bin/epg-encode.sh'
excludeChannelsはEPGStationの番組表・EPG取得から除外するチャンネル(ショッピング、データ放送、ラジオ、地方局)のID

operatorLogConfig.yml の作成
nano /mnt/data/docker/epgstation/config/operatorLogConfig.yml
appenders:
  system:
    type: file
    filename: '/app/logs/operator.log'
  EPGUpdaterSystem:
    type: file
    filename: '/app/logs/EPGUpdater/system.log'
  EPGUpdaterAccess:
    type: file
    filename: '/app/logs/EPGUpdater/access.log'
  EPGUpdaterStream:
    type: file
    filename: '/app/logs/EPGUpdater/stream.log'
  EPGUpdaterEncode:
    type: file
    filename: '/app/logs/EPGUpdater/encode.log'
  stdout:
    type: stdout
categories:
  default:
    appenders:
      - system
      - stdout
    level: info
  EPGUpdater:
    appenders:
      - EPGUpdaterSystem
      - stdout
    level: info

serviceLogConfig.yml の作成
nano /mnt/data/docker/epgstation/config/serviceLogConfig.yml
appenders:
  system:
    type: file
    filename: '/app/logs/service.log'
  stdout:
    type: stdout
categories:
  default:
    appenders:
      - system
      - stdout
    level: info

epgUpdaterLogConfig.yml の作成
nano /mnt/data/docker/epgstation/config/epgUpdaterLogConfig.yml
appenders:
  system:
    type: file
    filename: '/app/logs/epgUpdater.log'
  stdout:
    type: stdout
categories:
  default:
    appenders:
      - system
      - stdout
    level: info

EPGStation を起動
cd /mnt/data/docker/epgstation
docker compose up -d
サービスURL
Mirakurunhttp://192.168.0.100:40772
EPGStationhttp://192.168.0.100:8888
これで、自宅からも外出先からも番組表が閲覧できるので、予約の追加変更が可能となった。

記事一覧