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'
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: infoserviceLogConfig.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: infoepgUpdaterLogConfig.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: infoEPGStation を起動
cd /mnt/data/docker/epgstation docker compose up -d
| サービス | URL |
|---|---|
| Mirakurun | http://192.168.0.100:40772 |
| EPGStation | http://192.168.0.100:8888 |