Skip to content

Instantly share code, notes, and snippets.

@ycrack
Last active March 8, 2021 05:42
Show Gist options
  • Select an option

  • Save ycrack/ed008d46f95ecf6221fd8cba49a29168 to your computer and use it in GitHub Desktop.

Select an option

Save ycrack/ed008d46f95ecf6221fd8cba49a29168 to your computer and use it in GitHub Desktop.
epg
version: "3.8"
services:
mirakurun:
image: mirakurun-recpt1:3.5.0-shirow
cap_add:
- SYS_ADMIN
- SYS_NICE
ports:
- "40772:40772"
- "9229:9229"
volumes:
- ./mirakurun/conf:/app-config
- ./mirakurun/data:/app-data
environment:
TZ: "Asia/Tokyo"
devices:
- /dev/bus
- /dev/px4video0
- /dev/px4video1
- /dev/px4video2
- /dev/px4video3
- /dev/px4video4
- /dev/px4video5
- /dev/px4video6
- /dev/px4video7
restart: always
logging:
driver: json-file
options:
max-file: "1"
max-size: 10m
mysql:
image: mariadb:10
volumes:
- mysql-db:/var/lib/mysql
environment:
MYSQL_USER: epgstation
MYSQL_PASSWORD: epgstation
MYSQL_ROOT_PASSWORD: epgstation
MYSQL_DATABASE: epgstation
TZ: "Asia/Tokyo"
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --performance-schema=false --expire_logs_days=1
restart: always
logging:
options:
max-size: "10m"
max-file: "3"
epgstation:
image: epgstation-mfx:2.1.2-alpine-debug
volumes:
- /etc/localtime:/etc/localtime:ro
- ./epgstation/config:/app/config
- ./epgstation/data:/app/data
- ./epgstation/thumbnail:/app/thumbnail
- ./epgstation/logs:/app/logs
- /mnt/WDRed8T/TV:/app/recorded
- /mnt/WDRed8T/TV/log:/app/drop
environment:
TZ: "Asia/Tokyo"
devices:
- /dev/dri
depends_on:
- mirakurun
- mysql
ports:
- "8888:8888"
- "8889:8889"
# user: "1000:1000"
restart: always
volumes:
mysql-db:
driver: local
FROM l3tnun/epgstation:v2.0.2-debian-amd64
EXPOSE 8888
ARG CPUCORE="1"
ARG VER_LIBVA="2.10.0"
ARG VER_IMSDK="20.5.1"
ARG VER_FFMPEG="4.3.1"
ENV LD_LIBRARY_PATH="/opt/intel/mediasdk/lib:/opt/ffmpeg/lib:/opt/ffmpeg/lib64:/usr/lib64:/usr/lib:/lib64:/lib" \
PKG_CONFIG_PATH="/opt/intel/mediasdk/lib/pkgconfig:/opt/ffmpeg/share/pkgconfig:/opt/ffmpeg/lib/pkgconfig:/opt/ffmpeg/lib64/pkgconfig" \
LIBVA_DRIVERS_PATH="/usr/lib/x86_64-linux-gnu/dri" \
LIBVA_DRIVER_NAME="iHD"
ARG DEP_COMMON="wget git cmake pkg-config build-essential software-properties-common vainfo"
ARG DEP_LIBVA="meson libdrm-dev automake libtool"
ARG DEP_FFMPEG="autoconf automake build-essential cmake git-core libgnutls28-dev libsdl2-dev libtool libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget yasm zlib1g-dev libunistring-dev"
ARG DEP_OPTION="intel-media-va-driver-non-free mesa-va-drivers nasm libx264-dev libx265-dev libnuma-dev libvpx-dev libfdk-aac-dev libmp3lame-dev libopus-dev libvorbis-dev libass-dev libaribb24-dev libfreetype6-dev libtheora-dev libaom-dev"
ARG FLG_FFMPEG="--enable-gpl --enable-version3 --enable-nonfree --enable-libass --enable-libaribb24 --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libmfx --enable-vaapi --enable-gnutls --enable-libaom"
RUN apt-get update && \
apt-get install -y $DEP_COMMON && \
apt-add-repository non-free && \
apt-get update && \
# libva
apt-get install -y $DEP_LIBVA && \
mkdir /tmp/libva && \
cd /tmp/libva && \
wget https://github.com/intel/libva/releases/download/${VER_LIBVA}/libva-${VER_LIBVA}.tar.bz2 -O libva.tar.bz2 && \
tar xjvf libva.tar.bz2 && \
cd /tmp/libva/libva-${VER_LIBVA} && \
meson build && \
ninja -C build && \
cd build && \
ninja install && \
rm -rf /tmp/libva && \
# Media SDK
mkdir /tmp/mediasdk && \
cd /tmp/mediasdk && \
wget https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${VER_IMSDK}.tar.gz -O intel-mediasdk.tar.gz && \
tar xzvf intel-mediasdk.tar.gz && \
cd /tmp/mediasdk/MediaSDK-intel-mediasdk-${VER_IMSDK} && \
mkdir build && \
cd build && \
cmake -DCMAKE_CXX_COMPILER=g++ -DBUILD_SAMPLES=OFF .. && \
make -j${CPUCORE} && \
make install && \
rm -rf /tmp/mediasdk && \
# ffmpeg
apt-get install -y $DEP_FFMPEG $DEP_OPTION && \
mkdir /tmp/ffmpeg && \
cd /tmp/ffmpeg && \
wget https://ffmpeg.org/releases/ffmpeg-${VER_FFMPEG}.tar.xz -O ffmpeg.tar.xz && \
tar xJvf ffmpeg.tar.xz && \
cd /tmp/ffmpeg/ffmpeg-${VER_FFMPEG} && \
./configure \
--prefix=/usr/local \
--pkg-config-flags="--static" \
--extra-cflags="-I/tmp/ffmpeg/ffmpeg-${VER_FFMPEG}/include" \
--extra-ldflags="-L/tmp/ffmpeg/ffmpeg-${VER_FFMPEG}/lib" \
--disable-yasm \
--disable-shared \
--disable-doc \
$FLG_FFMPEG && \
make -j${CPUCORE} && \
make install && \
rm -rf /tmp/ffmpeg
FROM l3tnun/epgstation:v2.1.2-alpine
COPY --from=collelog/ffmpeg:4.3.1-alpine-vaapi-amd64 /build /
EXPOSE 8888
ENV LD_LIBRARY_PATH="/opt/intel/mediasdk/lib64:/usr/local/lib64:/usr/local/lib:/usr/lib:/lib" \
PKG_CONFIG_PATH="/opt/intel/mediasdk/lib64/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/lib/pkgconfig" \
LIBVA_DRIVERS_PATH="/usr/lib/dri" \
LIBVA_DRIVER_NAME="iHD"
RUN set -eux && \
echo http://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories && \
echo http://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories && \
echo http://dl-cdn.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && \
apk upgrade --no-cache --update-cache && \
apk add --no-cache --update-cache \
libva-utils \
intel-media-driver \
mesa-va-gallium \
musl && \
rm -rf /tmp/* /var/cache/apk/*
FROM chinachu/mirakurun:3.5.0
EXPOSE 40772 9229
ARG CPUCORE="1"
ARG VER_LIBARIB25="0.2.5-20190204"
ARG DEP_BUILD="make gcc g++ pkg-config cmake autoconf automake wget unzip"
RUN apt-get update && \
apt-get install -y ${DEP_BUILD} && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
# libarib25
mkdir /tmp/libarib25 && \
cd /tmp/libarib25 && \
wget https://github.com/stz2012/libarib25/archive/v${VER_LIBARIB25}.tar.gz -O libarib25.tar.gz && \
tar xzvf libarib25.tar.gz && \
cd /tmp/libarib25/libarib25-${VER_LIBARIB25} && \
cmake . && \
make -j${CPUCORE} && \
make install && \
rm -rf /tmp/libarib25 && \
# recpt1
mkdir /tmp/recpt1 && \
cd /tmp/recpt1 && \
wget https://github.com/stz2012/recpt1/archive/master.tar.gz -O recpt1.tar.gz && \
tar xzvf recpt1.tar.gz && \
cd /tmp/recpt1/recpt1-master/recpt1 && \
./autogen.sh && \
./configure --enable-b25 && \
make -j${CPUCORE} && \
make install && \
rm -rf /tmp/recpt1
FROM chinachu/mirakurun:3.5.0
EXPOSE 40772 9229
ENV DEBIAN_FRONTEND=noninteractive
ARG CPUCORE="1"
ARG VER_LIBPCSCLITE_BCAS="1.0.0"
ARG VER_LIBARIBB25="0.2.9"
ARG VER_RECPT1="1.2.6"
ARG DEP_BUILD="make gcc g++ pkg-config cmake autoconf automake libtool wget unzip ca-certificates git"
ARG WKDIR=/tmp
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends ${DEP_BUILD} && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
#WORKDIR $WKDIR
#RUN git clone https://github.com/shirow-github/libpcsclite-bcas softcas
#RUN git clone https://github.com/shirow-github/libaribb25 libaribb25
#RUN git clone https://github.com/shirow-github/recpt1 recpt1
# libpcsclite-bcas
WORKDIR $WKDIR/libpcsclite-bcas
RUN wget -O - "https://github.com/shirow-github/libpcsclite-bcas/archive/v${VER_LIBPCSCLITE_BCAS}.tar.gz" | tar zxvf - && \
cd libpcsclite-bcas-${VER_LIBPCSCLITE_BCAS} && \
./bootstrap && \
./configure && \
make -j${CPUCORE} && \
make install && \
ldconfig
# libaribb25
WORKDIR $WKDIR/libaribb25
RUN wget -O - "https://github.com/shirow-github/libaribb25/archive/v${VER_LIBARIBB25}.tar.gz" | tar zxvf - && \
cd libaribb25-${VER_LIBARIBB25} && \
./bootstrap && \
./configure \
pcsclite_CFLAGS="-I/usr/local/include/libpcsclite-bcas -I/usr/include/PCSC -pthread" \
pcsclite_LIBS="-L/usr/lib -lpcsclitebcas" && \
make -j${CPUCORE} && \
make install && \
ldconfig
# recpt1
WORKDIR $WKDIR/recpt1
RUN wget -O - "https://github.com/shirow-github/recpt1/archive/v${VER_RECPT1}.tar.gz" | tar zxvf - && \
cd recpt1-${VER_RECPT1}/recpt1 && \
./autogen.sh && \
./configure --enable-softcas && \
make -j${CPUCORE} && \
make install
# 後始末
RUN rm -rf $WKDIR/*
WORKDIR /app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment