forked from Ivasoft/docker-tvheadend
Compare commits
129 Commits
74765a3f-l
...
ebb09680-l
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a7b46c55c | ||
|
|
48be429287 | ||
|
|
0cee1652df | ||
|
|
87a4772008 | ||
|
|
cd589b5edc | ||
|
|
7621f743f9 | ||
|
|
2c722cf6f5 | ||
|
|
fbe55624ba | ||
|
|
05dfb9ffb3 | ||
|
|
ac4f7d401e | ||
|
|
ed43e439b6 | ||
|
|
f406290afe | ||
|
|
7520004527 | ||
|
|
18489b187b | ||
|
|
621a1dc880 | ||
|
|
c6d1618f97 | ||
|
|
7d62763012 | ||
|
|
22930512ea | ||
|
|
d97c1f1796 | ||
|
|
0ca518f159 | ||
|
|
8cd7586acc | ||
|
|
3b258e70bc | ||
|
|
41ebcd4ea6 | ||
|
|
343b9cd5f3 | ||
|
|
33ab472fc7 | ||
|
|
28b17930bd | ||
|
|
7a36e3fe54 | ||
|
|
bfaa13c92c | ||
|
|
19b809223d | ||
|
|
46a3cbb580 | ||
|
|
26b737c76c | ||
|
|
78d9a02ed1 | ||
|
|
58e666bbd5 | ||
|
|
fadee48d67 | ||
|
|
0f9f1ef4d3 | ||
|
|
d052b13f92 | ||
|
|
9d64ee4636 | ||
|
|
753d0bbe38 | ||
|
|
43b924159e | ||
|
|
09504f7d5b | ||
|
|
31cd14f4f5 | ||
|
|
56a0b351da | ||
|
|
df82e31fe1 | ||
|
|
6e137dbdba | ||
|
|
435875e2a3 | ||
|
|
6025ca0750 | ||
|
|
3a4ee7ab9f | ||
|
|
a2f49bb75b | ||
|
|
3659c4708a | ||
|
|
8387285750 | ||
|
|
90d21b6f06 | ||
|
|
2631706f5b | ||
|
|
f6e2be9d51 | ||
|
|
e6bb2a1641 | ||
|
|
a702166af3 | ||
|
|
9dceb0a4ce | ||
|
|
22ed8475c7 | ||
|
|
c7ce0c4832 | ||
|
|
822dbde249 | ||
|
|
cd3964e06c | ||
|
|
70f300d86a | ||
|
|
25979ad455 | ||
|
|
1306f8cf2d | ||
|
|
f19ad9ca20 | ||
|
|
c0a37a6b8b | ||
|
|
dca4b0ed9b | ||
|
|
8768cdb702 | ||
|
|
002dda3027 | ||
|
|
3122624bf0 | ||
|
|
0f717f40e4 | ||
|
|
548d5b2946 | ||
|
|
ef8f4a0dd0 | ||
|
|
a99f76a006 | ||
|
|
6e0fc5e84c | ||
|
|
417a24d0c2 | ||
|
|
eb7c4bbefa | ||
|
|
c2250aa33f | ||
|
|
80fea09e66 | ||
|
|
bd7ef42e33 | ||
|
|
c92cf86b86 | ||
|
|
01c0439c90 | ||
|
|
17ff5fcca4 | ||
|
|
0ddbdd0c08 | ||
|
|
df6da18c15 | ||
|
|
83f2893d22 | ||
|
|
b41cde8174 | ||
|
|
a306c49d7a | ||
|
|
4af60c604c | ||
|
|
4288628824 | ||
|
|
5d372c0e19 | ||
|
|
6746a3fbf6 | ||
|
|
0f99b9a0d5 | ||
|
|
aa9724fdc2 | ||
|
|
de493babb9 | ||
|
|
0321b4d01a | ||
|
|
c0fe17d93e | ||
|
|
b1a069a702 | ||
|
|
a68b5c32a4 | ||
|
|
880d45e6fe | ||
|
|
a6a8e1b6d4 | ||
|
|
4d7daed6fc | ||
|
|
c15493ddbe | ||
|
|
3dbea6d9a5 | ||
|
|
d18eb4297c | ||
|
|
53ba6baa56 | ||
|
|
0d9c4b8394 | ||
|
|
3a054b8a57 | ||
|
|
6d486e90d0 | ||
|
|
4aeef6554b | ||
|
|
2e0e6d028c | ||
|
|
d4fb416e62 | ||
|
|
51f45f4d30 | ||
|
|
6a4d853235 | ||
|
|
0b1069a088 | ||
|
|
c9181d7131 | ||
|
|
9a3b13ad27 | ||
|
|
bdc1f87ac6 | ||
|
|
e4e07121af | ||
|
|
0e8ea6063c | ||
|
|
9b161c87f9 | ||
|
|
ec6ff1a886 | ||
|
|
87d4b9c811 | ||
|
|
0d53fe87a0 | ||
|
|
314f59a89f | ||
|
|
4e44306b81 | ||
|
|
68a5beb2ce | ||
|
|
9ce7af875d | ||
|
|
51e21fbae9 | ||
|
|
97ed2af733 |
1
.github/FUNDING.yml
vendored
Executable file
1
.github/FUNDING.yml
vendored
Executable file
@@ -0,0 +1 @@
|
|||||||
|
open_collective: linuxserver
|
||||||
61
Dockerfile
61
Dockerfile
@@ -1,14 +1,13 @@
|
|||||||
FROM lsiobase/alpine:3.9 as buildstage
|
FROM lsiobase/alpine:3.10 as buildstage
|
||||||
############## build stage ##############
|
############## build stage ##############
|
||||||
|
|
||||||
# package versions
|
# package versions
|
||||||
ARG ARGTABLE_VER="2.13"
|
ARG ARGTABLE_VER="2.13"
|
||||||
ARG TVH_VER="release/4.2"
|
ARG XMLTV_VER="v0.6.1"
|
||||||
ARG XMLTV_VER="v0.5.70"
|
|
||||||
ARG TVHEADEND_COMMIT
|
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
ARG TZ="Europe/Oslo"
|
ARG TZ="Europe/Oslo"
|
||||||
|
ARG TVHEADEND_COMMIT
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches
|
||||||
@@ -32,16 +31,18 @@ RUN \
|
|||||||
git \
|
git \
|
||||||
gzip \
|
gzip \
|
||||||
jq \
|
jq \
|
||||||
|
libcurl \
|
||||||
|
libdvbcsa-dev \
|
||||||
libgcrypt-dev \
|
libgcrypt-dev \
|
||||||
libhdhomerun-dev \
|
libhdhomerun-dev \
|
||||||
libressl-dev \
|
|
||||||
libtool \
|
libtool \
|
||||||
|
libva-dev \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
openssl-dev \
|
||||||
opus-dev \
|
opus-dev \
|
||||||
patch \
|
patch \
|
||||||
pcre2-dev \
|
pcre2-dev \
|
||||||
@@ -77,6 +78,7 @@ RUN \
|
|||||||
perl-lingua-en-numbers-ordinate \
|
perl-lingua-en-numbers-ordinate \
|
||||||
perl-lingua-preferred \
|
perl-lingua-preferred \
|
||||||
perl-list-moreutils \
|
perl-list-moreutils \
|
||||||
|
perl-lwp-useragent-determined \
|
||||||
perl-module-build \
|
perl-module-build \
|
||||||
perl-module-pluggable \
|
perl-module-pluggable \
|
||||||
perl-net-ssleay \
|
perl-net-ssleay \
|
||||||
@@ -118,7 +120,7 @@ RUN \
|
|||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install perl modules for xmltv ****" && \
|
echo "**** install perl modules for xmltv ****" && \
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
curl -L https://cpanmin.us | perl - App::cpanminus && \
|
||||||
cpanm --installdeps /tmp/patches
|
cpanm --installdeps /tmp/patches
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
@@ -139,41 +141,44 @@ RUN \
|
|||||||
make test && \
|
make test && \
|
||||||
make DESTDIR=/tmp/xmltv-build install
|
make DESTDIR=/tmp/xmltv-build install
|
||||||
|
|
||||||
RUN \
|
|
||||||
echo "**** compile dvb-apps ****" && \
|
|
||||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
|
||||||
cd /tmp/dvb-apps && \
|
|
||||||
make -C lib && \
|
|
||||||
make -C lib DESTDIR=/tmp/dvbapps-build install && \
|
|
||||||
cp -pr /tmp/dvbapps-build/usr/* /usr/
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** compile tvheadend ****" && \
|
echo "**** compile tvheadend ****" && \
|
||||||
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
||||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \
|
||||||
| jq -r '. | .sha'); \
|
| jq -r '. | .sha'); \
|
||||||
fi && \
|
fi && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/tmp/tvheadend && \
|
/tmp/tvheadend && \
|
||||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||||
cd /tmp/tvheadend && \
|
cd /tmp/tvheadend && \
|
||||||
git checkout ${TVHEADEND_COMMIT} && \
|
git checkout ${TVHEADEND_COMMIT} && \
|
||||||
./configure \
|
./configure \
|
||||||
--disable-avahi \
|
`#Encoding` \
|
||||||
--disable-bintray_cache \
|
|
||||||
--disable-dbus_1 \
|
|
||||||
--disable-ffmpeg_static \
|
--disable-ffmpeg_static \
|
||||||
--disable-hdhomerun_static \
|
|
||||||
--disable-libfdkaac_static \
|
--disable-libfdkaac_static \
|
||||||
--disable-libmfx_static \
|
|
||||||
--disable-libtheora_static \
|
--disable-libtheora_static \
|
||||||
|
--disable-libopus_static \
|
||||||
--disable-libvorbis_static \
|
--disable-libvorbis_static \
|
||||||
--disable-libvpx_static \
|
--disable-libvpx_static \
|
||||||
--disable-libx264_static \
|
--disable-libx264_static \
|
||||||
--disable-libx265_static \
|
--disable-libx265_static \
|
||||||
|
--disable-libfdkaac \
|
||||||
|
--enable-libopus \
|
||||||
|
--enable-libvorbis \
|
||||||
|
--enable-libvpx \
|
||||||
|
--enable-libx264 \
|
||||||
|
--enable-libx265 \
|
||||||
|
\
|
||||||
|
`#Options` \
|
||||||
|
--disable-avahi \
|
||||||
|
--disable-dbus_1 \
|
||||||
|
--disable-bintray_cache \
|
||||||
|
--disable-hdhomerun_static \
|
||||||
--enable-hdhomerun_client \
|
--enable-hdhomerun_client \
|
||||||
--enable-libav \
|
--enable-libav \
|
||||||
--enable-pngquant \
|
--enable-pngquant \
|
||||||
|
--enable-trace \
|
||||||
|
--enable-vaapi \
|
||||||
--infodir=/usr/share/info \
|
--infodir=/usr/share/info \
|
||||||
--localstatedir=/var \
|
--localstatedir=/var \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
@@ -215,7 +220,7 @@ RUN \
|
|||||||
make DESTDIR=/tmp/comskip-build install
|
make DESTDIR=/tmp/comskip-build install
|
||||||
|
|
||||||
############## runtime stage ##############
|
############## runtime stage ##############
|
||||||
FROM lsiobase/alpine:3.9
|
FROM lsiobase/alpine:3.10
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -236,14 +241,18 @@ RUN \
|
|||||||
ffmpeg-libs \
|
ffmpeg-libs \
|
||||||
gzip \
|
gzip \
|
||||||
libcrypto1.1 \
|
libcrypto1.1 \
|
||||||
libcurl \
|
libcurl \
|
||||||
|
libdvbcsa \
|
||||||
libhdhomerun-libs \
|
libhdhomerun-libs \
|
||||||
libressl \
|
|
||||||
libssl1.1 \
|
libssl1.1 \
|
||||||
|
libva \
|
||||||
|
libva-intel-driver \
|
||||||
|
mesa-dri-ati \
|
||||||
libvpx \
|
libvpx \
|
||||||
libxml2 \
|
libxml2 \
|
||||||
libxslt \
|
libxslt \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
|
openssl \
|
||||||
opus \
|
opus \
|
||||||
pcre2 \
|
pcre2 \
|
||||||
perl \
|
perl \
|
||||||
@@ -278,6 +287,7 @@ RUN \
|
|||||||
perl-lingua-en-numbers-ordinate \
|
perl-lingua-en-numbers-ordinate \
|
||||||
perl-lingua-preferred \
|
perl-lingua-preferred \
|
||||||
perl-list-moreutils \
|
perl-list-moreutils \
|
||||||
|
perl-lwp-useragent-determined \
|
||||||
perl-module-build \
|
perl-module-build \
|
||||||
perl-module-pluggable \
|
perl-module-pluggable \
|
||||||
perl-net-ssleay \
|
perl-net-ssleay \
|
||||||
@@ -317,7 +327,6 @@ RUN \
|
|||||||
# copy local files and buildstage artifacts
|
# copy local files and buildstage artifacts
|
||||||
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/dvbapps-build/usr/ /usr/
|
|
||||||
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
||||||
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
FROM lsiobase/alpine:arm64v8-3.9 as buildstage
|
FROM lsiobase/alpine:arm64v8-3.10 as buildstage
|
||||||
############## build stage ##############
|
############## build stage ##############
|
||||||
|
|
||||||
# package versions
|
# package versions
|
||||||
ARG ARGTABLE_VER="2.13"
|
ARG ARGTABLE_VER="2.13"
|
||||||
ARG TVH_VER="release/4.2"
|
ARG XMLTV_VER="v0.6.1"
|
||||||
ARG XMLTV_VER="v0.5.70"
|
|
||||||
ARG TVHEADEND_COMMIT
|
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
ARG TZ="Europe/Oslo"
|
ARG TZ="Europe/Oslo"
|
||||||
|
ARG TVHEADEND_COMMIT
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches
|
||||||
@@ -32,16 +31,17 @@ RUN \
|
|||||||
git \
|
git \
|
||||||
gzip \
|
gzip \
|
||||||
jq \
|
jq \
|
||||||
|
libcurl \
|
||||||
|
libdvbcsa-dev \
|
||||||
libgcrypt-dev \
|
libgcrypt-dev \
|
||||||
libhdhomerun-dev \
|
libhdhomerun-dev \
|
||||||
libressl-dev \
|
|
||||||
libtool \
|
libtool \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
openssl-dev \
|
||||||
opus-dev \
|
opus-dev \
|
||||||
patch \
|
patch \
|
||||||
pcre2-dev \
|
pcre2-dev \
|
||||||
@@ -77,6 +77,7 @@ RUN \
|
|||||||
perl-lingua-en-numbers-ordinate \
|
perl-lingua-en-numbers-ordinate \
|
||||||
perl-lingua-preferred \
|
perl-lingua-preferred \
|
||||||
perl-list-moreutils \
|
perl-list-moreutils \
|
||||||
|
perl-lwp-useragent-determined \
|
||||||
perl-module-build \
|
perl-module-build \
|
||||||
perl-module-pluggable \
|
perl-module-pluggable \
|
||||||
perl-net-ssleay \
|
perl-net-ssleay \
|
||||||
@@ -118,7 +119,7 @@ RUN \
|
|||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install perl modules for xmltv ****" && \
|
echo "**** install perl modules for xmltv ****" && \
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
curl -L https://cpanmin.us | perl - App::cpanminus && \
|
||||||
cpanm --installdeps /tmp/patches
|
cpanm --installdeps /tmp/patches
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
@@ -139,19 +140,11 @@ RUN \
|
|||||||
make test && \
|
make test && \
|
||||||
make DESTDIR=/tmp/xmltv-build install
|
make DESTDIR=/tmp/xmltv-build install
|
||||||
|
|
||||||
RUN \
|
|
||||||
echo "**** compile dvb-apps ****" && \
|
|
||||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
|
||||||
cd /tmp/dvb-apps && \
|
|
||||||
make -C lib && \
|
|
||||||
make -C lib DESTDIR=/tmp/dvbapps-build install && \
|
|
||||||
cp -pr /tmp/dvbapps-build/usr/* /usr/
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** compile tvheadend ****" && \
|
echo "**** compile tvheadend ****" && \
|
||||||
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
||||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \
|
||||||
| jq -r '. | .sha'); \
|
| jq -r '. | .sha'); \
|
||||||
fi && \
|
fi && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/tmp/tvheadend && \
|
/tmp/tvheadend && \
|
||||||
@@ -159,21 +152,31 @@ RUN \
|
|||||||
cd /tmp/tvheadend && \
|
cd /tmp/tvheadend && \
|
||||||
git checkout ${TVHEADEND_COMMIT} && \
|
git checkout ${TVHEADEND_COMMIT} && \
|
||||||
./configure \
|
./configure \
|
||||||
--disable-avahi \
|
`#Encoding` \
|
||||||
--disable-bintray_cache \
|
|
||||||
--disable-dbus_1 \
|
|
||||||
--disable-ffmpeg_static \
|
--disable-ffmpeg_static \
|
||||||
--disable-hdhomerun_static \
|
|
||||||
--disable-libfdkaac_static \
|
--disable-libfdkaac_static \
|
||||||
--disable-libmfx_static \
|
|
||||||
--disable-libtheora_static \
|
--disable-libtheora_static \
|
||||||
|
--disable-libopus_static \
|
||||||
--disable-libvorbis_static \
|
--disable-libvorbis_static \
|
||||||
--disable-libvpx_static \
|
--disable-libvpx_static \
|
||||||
--disable-libx264_static \
|
--disable-libx264_static \
|
||||||
--disable-libx265_static \
|
--disable-libx265_static \
|
||||||
|
--disable-libfdkaac \
|
||||||
|
--enable-libopus \
|
||||||
|
--enable-libvorbis \
|
||||||
|
--enable-libvpx \
|
||||||
|
--enable-libx264 \
|
||||||
|
--enable-libx265 \
|
||||||
|
\
|
||||||
|
`#Options` \
|
||||||
|
--disable-avahi \
|
||||||
|
--disable-dbus_1 \
|
||||||
|
--disable-bintray_cache \
|
||||||
|
--disable-hdhomerun_static \
|
||||||
--enable-hdhomerun_client \
|
--enable-hdhomerun_client \
|
||||||
--enable-libav \
|
--enable-libav \
|
||||||
--enable-pngquant \
|
--enable-pngquant \
|
||||||
|
--enable-trace \
|
||||||
--infodir=/usr/share/info \
|
--infodir=/usr/share/info \
|
||||||
--localstatedir=/var \
|
--localstatedir=/var \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
@@ -215,7 +218,7 @@ RUN \
|
|||||||
make DESTDIR=/tmp/comskip-build install
|
make DESTDIR=/tmp/comskip-build install
|
||||||
|
|
||||||
############## runtime stage ##############
|
############## runtime stage ##############
|
||||||
FROM lsiobase/alpine:arm64v8-3.9
|
FROM lsiobase/alpine:arm64v8-3.10
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -236,14 +239,15 @@ RUN \
|
|||||||
ffmpeg-libs \
|
ffmpeg-libs \
|
||||||
gzip \
|
gzip \
|
||||||
libcrypto1.1 \
|
libcrypto1.1 \
|
||||||
libcurl \
|
libcurl \
|
||||||
|
libdvbcsa \
|
||||||
libhdhomerun-libs \
|
libhdhomerun-libs \
|
||||||
libressl \
|
|
||||||
libssl1.1 \
|
libssl1.1 \
|
||||||
libvpx \
|
libvpx \
|
||||||
libxml2 \
|
libxml2 \
|
||||||
libxslt \
|
libxslt \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
|
openssl \
|
||||||
opus \
|
opus \
|
||||||
pcre2 \
|
pcre2 \
|
||||||
perl \
|
perl \
|
||||||
@@ -278,6 +282,7 @@ RUN \
|
|||||||
perl-lingua-en-numbers-ordinate \
|
perl-lingua-en-numbers-ordinate \
|
||||||
perl-lingua-preferred \
|
perl-lingua-preferred \
|
||||||
perl-list-moreutils \
|
perl-list-moreutils \
|
||||||
|
perl-lwp-useragent-determined \
|
||||||
perl-module-build \
|
perl-module-build \
|
||||||
perl-module-pluggable \
|
perl-module-pluggable \
|
||||||
perl-net-ssleay \
|
perl-net-ssleay \
|
||||||
@@ -317,7 +322,6 @@ RUN \
|
|||||||
# copy local files and buildstage artifacts
|
# copy local files and buildstage artifacts
|
||||||
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/dvbapps-build/usr/ /usr/
|
|
||||||
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
||||||
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
FROM lsiobase/alpine:arm32v7-3.9 as buildstage
|
FROM lsiobase/alpine:arm32v7-3.10 as buildstage
|
||||||
############## build stage ##############
|
############## build stage ##############
|
||||||
|
|
||||||
# package versions
|
# package versions
|
||||||
ARG ARGTABLE_VER="2.13"
|
ARG ARGTABLE_VER="2.13"
|
||||||
ARG TVH_VER="release/4.2"
|
ARG XMLTV_VER="v0.6.1"
|
||||||
ARG XMLTV_VER="v0.5.70"
|
|
||||||
ARG TVHEADEND_COMMIT
|
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
ARG TZ="Europe/Oslo"
|
ARG TZ="Europe/Oslo"
|
||||||
|
ARG TVHEADEND_COMMIT
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches
|
||||||
@@ -32,16 +31,17 @@ RUN \
|
|||||||
git \
|
git \
|
||||||
gzip \
|
gzip \
|
||||||
jq \
|
jq \
|
||||||
|
libcurl \
|
||||||
|
libdvbcsa-dev \
|
||||||
libgcrypt-dev \
|
libgcrypt-dev \
|
||||||
libhdhomerun-dev \
|
libhdhomerun-dev \
|
||||||
libressl-dev \
|
|
||||||
libtool \
|
libtool \
|
||||||
libvpx-dev \
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
openssl-dev \
|
||||||
opus-dev \
|
opus-dev \
|
||||||
patch \
|
patch \
|
||||||
pcre2-dev \
|
pcre2-dev \
|
||||||
@@ -77,6 +77,7 @@ RUN \
|
|||||||
perl-lingua-en-numbers-ordinate \
|
perl-lingua-en-numbers-ordinate \
|
||||||
perl-lingua-preferred \
|
perl-lingua-preferred \
|
||||||
perl-list-moreutils \
|
perl-list-moreutils \
|
||||||
|
perl-lwp-useragent-determined \
|
||||||
perl-module-build \
|
perl-module-build \
|
||||||
perl-module-pluggable \
|
perl-module-pluggable \
|
||||||
perl-net-ssleay \
|
perl-net-ssleay \
|
||||||
@@ -118,7 +119,7 @@ RUN \
|
|||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install perl modules for xmltv ****" && \
|
echo "**** install perl modules for xmltv ****" && \
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
curl -L https://cpanmin.us | perl - App::cpanminus && \
|
||||||
cpanm --installdeps /tmp/patches
|
cpanm --installdeps /tmp/patches
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
@@ -139,19 +140,11 @@ RUN \
|
|||||||
make test && \
|
make test && \
|
||||||
make DESTDIR=/tmp/xmltv-build install
|
make DESTDIR=/tmp/xmltv-build install
|
||||||
|
|
||||||
RUN \
|
|
||||||
echo "**** compile dvb-apps ****" && \
|
|
||||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
|
||||||
cd /tmp/dvb-apps && \
|
|
||||||
make -C lib && \
|
|
||||||
make -C lib DESTDIR=/tmp/dvbapps-build install && \
|
|
||||||
cp -pr /tmp/dvbapps-build/usr/* /usr/
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** compile tvheadend ****" && \
|
echo "**** compile tvheadend ****" && \
|
||||||
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
||||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \
|
||||||
| jq -r '. | .sha'); \
|
| jq -r '. | .sha'); \
|
||||||
fi && \
|
fi && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/tmp/tvheadend && \
|
/tmp/tvheadend && \
|
||||||
@@ -159,21 +152,31 @@ RUN \
|
|||||||
cd /tmp/tvheadend && \
|
cd /tmp/tvheadend && \
|
||||||
git checkout ${TVHEADEND_COMMIT} && \
|
git checkout ${TVHEADEND_COMMIT} && \
|
||||||
./configure \
|
./configure \
|
||||||
--disable-avahi \
|
`#Encoding` \
|
||||||
--disable-bintray_cache \
|
|
||||||
--disable-dbus_1 \
|
|
||||||
--disable-ffmpeg_static \
|
--disable-ffmpeg_static \
|
||||||
--disable-hdhomerun_static \
|
|
||||||
--disable-libfdkaac_static \
|
--disable-libfdkaac_static \
|
||||||
--disable-libmfx_static \
|
|
||||||
--disable-libtheora_static \
|
--disable-libtheora_static \
|
||||||
|
--disable-libopus_static \
|
||||||
--disable-libvorbis_static \
|
--disable-libvorbis_static \
|
||||||
--disable-libvpx_static \
|
--disable-libvpx_static \
|
||||||
--disable-libx264_static \
|
--disable-libx264_static \
|
||||||
--disable-libx265_static \
|
--disable-libx265_static \
|
||||||
|
--disable-libfdkaac \
|
||||||
|
--enable-libopus \
|
||||||
|
--enable-libvorbis \
|
||||||
|
--enable-libvpx \
|
||||||
|
--enable-libx264 \
|
||||||
|
--enable-libx265 \
|
||||||
|
\
|
||||||
|
`#Options` \
|
||||||
|
--disable-avahi \
|
||||||
|
--disable-dbus_1 \
|
||||||
|
--disable-bintray_cache \
|
||||||
|
--disable-hdhomerun_static \
|
||||||
--enable-hdhomerun_client \
|
--enable-hdhomerun_client \
|
||||||
--enable-libav \
|
--enable-libav \
|
||||||
--enable-pngquant \
|
--enable-pngquant \
|
||||||
|
--enable-trace \
|
||||||
--infodir=/usr/share/info \
|
--infodir=/usr/share/info \
|
||||||
--localstatedir=/var \
|
--localstatedir=/var \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
@@ -215,7 +218,7 @@ RUN \
|
|||||||
make DESTDIR=/tmp/comskip-build install
|
make DESTDIR=/tmp/comskip-build install
|
||||||
|
|
||||||
############## runtime stage ##############
|
############## runtime stage ##############
|
||||||
FROM lsiobase/alpine:arm32v7-3.9
|
FROM lsiobase/alpine:arm32v7-3.10
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -236,14 +239,15 @@ RUN \
|
|||||||
ffmpeg-libs \
|
ffmpeg-libs \
|
||||||
gzip \
|
gzip \
|
||||||
libcrypto1.1 \
|
libcrypto1.1 \
|
||||||
libcurl \
|
libcurl \
|
||||||
|
libdvbcsa \
|
||||||
libhdhomerun-libs \
|
libhdhomerun-libs \
|
||||||
libressl \
|
|
||||||
libssl1.1 \
|
libssl1.1 \
|
||||||
libvpx \
|
libvpx \
|
||||||
libxml2 \
|
libxml2 \
|
||||||
libxslt \
|
libxslt \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
|
openssl \
|
||||||
opus \
|
opus \
|
||||||
pcre2 \
|
pcre2 \
|
||||||
perl \
|
perl \
|
||||||
@@ -278,6 +282,7 @@ RUN \
|
|||||||
perl-lingua-en-numbers-ordinate \
|
perl-lingua-en-numbers-ordinate \
|
||||||
perl-lingua-preferred \
|
perl-lingua-preferred \
|
||||||
perl-list-moreutils \
|
perl-list-moreutils \
|
||||||
|
perl-lwp-useragent-determined \
|
||||||
perl-module-build \
|
perl-module-build \
|
||||||
perl-module-pluggable \
|
perl-module-pluggable \
|
||||||
perl-net-ssleay \
|
perl-net-ssleay \
|
||||||
@@ -317,7 +322,6 @@ RUN \
|
|||||||
# copy local files and buildstage artifacts
|
# copy local files and buildstage artifacts
|
||||||
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/dvbapps-build/usr/ /usr/
|
|
||||||
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
||||||
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
||||||
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
||||||
|
|||||||
85
Jenkinsfile
vendored
85
Jenkinsfile
vendored
@@ -10,7 +10,7 @@ pipeline {
|
|||||||
environment {
|
environment {
|
||||||
BUILDS_DISCORD=credentials('build_webhook_url')
|
BUILDS_DISCORD=credentials('build_webhook_url')
|
||||||
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
||||||
EXT_GIT_BRANCH = 'release/4.2'
|
EXT_GIT_BRANCH = 'master'
|
||||||
EXT_USER = 'tvheadend'
|
EXT_USER = 'tvheadend'
|
||||||
EXT_REPO = 'tvheadend'
|
EXT_REPO = 'tvheadend'
|
||||||
BUILD_VERSION_ARG = 'TVHEADEND_COMMIT'
|
BUILD_VERSION_ARG = 'TVHEADEND_COMMIT'
|
||||||
@@ -38,7 +38,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':release-4.2 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
env.LS_RELEASE_NOTES = sh(
|
||||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||||
@@ -60,6 +60,14 @@ pipeline {
|
|||||||
echo none
|
echo none
|
||||||
fi''',
|
fi''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
|
env.FUNDING_TAG = sh(
|
||||||
|
script: '''#!/bin/bash
|
||||||
|
if [ -e ./.github/FUNDING.yml ] ; then
|
||||||
|
cat ./.github/FUNDING.yml | md5sum | cut -c1-8
|
||||||
|
else
|
||||||
|
echo none
|
||||||
|
fi''',
|
||||||
|
returnStdout: true).trim()
|
||||||
}
|
}
|
||||||
script{
|
script{
|
||||||
env.LS_RELEASE_NUMBER = sh(
|
env.LS_RELEASE_NUMBER = sh(
|
||||||
@@ -130,10 +138,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a release-4.2 build use live docker endpoints
|
// If this is a master build use live docker endpoints
|
||||||
stage("Set ENV live build"){
|
stage("Set ENV live build"){
|
||||||
when {
|
when {
|
||||||
branch "release-4.2"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -151,7 +159,7 @@ pipeline {
|
|||||||
// If this is a dev build use dev docker endpoints
|
// If this is a dev build use dev docker endpoints
|
||||||
stage("Set ENV dev build"){
|
stage("Set ENV dev build"){
|
||||||
when {
|
when {
|
||||||
not {branch "release-4.2"}
|
not {branch "master"}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -218,7 +226,7 @@ pipeline {
|
|||||||
// Use helper containers to render templated files
|
// Use helper containers to render templated files
|
||||||
stage('Update-Templates') {
|
stage('Update-Templates') {
|
||||||
when {
|
when {
|
||||||
branch "release-4.2"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
expression {
|
expression {
|
||||||
env.CONTAINER_NAME != null
|
env.CONTAINER_NAME != null
|
||||||
@@ -229,20 +237,23 @@ pipeline {
|
|||||||
set -e
|
set -e
|
||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull linuxserver/jenkins-builder:latest
|
docker pull linuxserver/jenkins-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=release-4.2 -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
||||||
docker pull linuxserver/doc-builder:latest
|
docker pull linuxserver/doc-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=release-4.2 -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
|
||||||
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
|
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
|
||||||
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
|
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
|
||||||
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ]; then
|
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ] || \
|
||||||
|
[ "$(cat ${TEMPDIR}/${LS_REPO}/.github/FUNDING.yml | md5sum | cut -c1-8)" != "${FUNDING_TAG}" ]; then
|
||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f release-4.2
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f master
|
||||||
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
|
||||||
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.github/FUNDING.yml ${TEMPDIR}/repo/${LS_REPO}/.github/FUNDING.yml
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}/
|
cd ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE ./.github/FUNDING.yml
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
@@ -269,7 +280,7 @@ pipeline {
|
|||||||
// Exit the build if the Templated files were just updated
|
// Exit the build if the Templated files were just updated
|
||||||
stage('Template-exit') {
|
stage('Template-exit') {
|
||||||
when {
|
when {
|
||||||
branch "release-4.2"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'FILES_UPDATED', value: 'true'
|
environment name: 'FILES_UPDATED', value: 'true'
|
||||||
expression {
|
expression {
|
||||||
@@ -368,7 +379,7 @@ pipeline {
|
|||||||
// Take the image we just built and dump package versions for comparison
|
// Take the image we just built and dump package versions for comparison
|
||||||
stage('Update-packages') {
|
stage('Update-packages') {
|
||||||
when {
|
when {
|
||||||
branch "release-4.2"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
@@ -396,7 +407,7 @@ pipeline {
|
|||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f release-4.2
|
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
||||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||||
cd ${TEMPDIR}/${LS_REPO}/
|
cd ${TEMPDIR}/${LS_REPO}/
|
||||||
wait
|
wait
|
||||||
@@ -420,7 +431,7 @@ pipeline {
|
|||||||
// Exit the build if the package file was just updated
|
// Exit the build if the package file was just updated
|
||||||
stage('PACKAGE-exit') {
|
stage('PACKAGE-exit') {
|
||||||
when {
|
when {
|
||||||
branch "release-4.2"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -434,7 +445,7 @@ pipeline {
|
|||||||
// Exit the build if this is just a package check and there are no changes to push
|
// Exit the build if this is just a package check and there are no changes to push
|
||||||
stage('PACKAGECHECK-exit') {
|
stage('PACKAGECHECK-exit') {
|
||||||
when {
|
when {
|
||||||
branch "release-4.2"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -519,12 +530,12 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:release-4.2"
|
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:release-4.2"
|
sh "docker push ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:${META_TAG}"
|
sh "docker push ${IMAGE}:${META_TAG}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:${META_TAG} \
|
${IMAGE}:${META_TAG} \
|
||||||
${IMAGE}:release-4.2 || :'''
|
${IMAGE}:latest || :'''
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -554,32 +565,32 @@ pipeline {
|
|||||||
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
||||||
fi'''
|
fi'''
|
||||||
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-release-4.2"
|
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
|
||||||
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-release-4.2"
|
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-release-4.2"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:amd64-release-4.2"
|
sh "docker push ${IMAGE}:amd64-latest"
|
||||||
sh "docker push ${IMAGE}:arm32v7-release-4.2"
|
sh "docker push ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker push ${IMAGE}:arm64v8-release-4.2"
|
sh "docker push ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:release-4.2 || :"
|
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
||||||
sh "docker manifest create ${IMAGE}:release-4.2 ${IMAGE}:amd64-release-4.2 ${IMAGE}:arm32v7-release-4.2 ${IMAGE}:arm64v8-release-4.2"
|
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest annotate ${IMAGE}:release-4.2 ${IMAGE}:arm32v7-release-4.2 --os linux --arch arm"
|
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
|
||||||
sh "docker manifest annotate ${IMAGE}:release-4.2 ${IMAGE}:arm64v8-release-4.2 --os linux --arch arm64 --variant v8"
|
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
||||||
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
|
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:release-4.2"
|
sh "docker manifest push --purge ${IMAGE}:latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:amd64-${META_TAG} \
|
${IMAGE}:amd64-${META_TAG} \
|
||||||
${IMAGE}:amd64-release-4.2 \
|
${IMAGE}:amd64-latest \
|
||||||
${IMAGE}:arm32v7-${META_TAG} \
|
${IMAGE}:arm32v7-${META_TAG} \
|
||||||
${IMAGE}:arm32v7-release-4.2 \
|
${IMAGE}:arm32v7-latest \
|
||||||
${IMAGE}:arm64v8-${META_TAG} \
|
${IMAGE}:arm64v8-${META_TAG} \
|
||||||
${IMAGE}:arm64v8-release-4.2 \
|
${IMAGE}:arm64v8-latest \
|
||||||
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
||||||
}
|
}
|
||||||
@@ -588,7 +599,7 @@ pipeline {
|
|||||||
// If this is a public release tag it in the LS Github
|
// If this is a public release tag it in the LS Github
|
||||||
stage('Github-Tag-Push-Release') {
|
stage('Github-Tag-Push-Release') {
|
||||||
when {
|
when {
|
||||||
branch "release-4.2"
|
branch "master"
|
||||||
expression {
|
expression {
|
||||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
@@ -600,17 +611,17 @@ pipeline {
|
|||||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||||
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to release-4.2",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq '. | .commit.message' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq '. | .commit.message' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"target_commitish": "release-4.2",\
|
"target_commitish": "master",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": true}' >> releasebody.json
|
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||||
}
|
}
|
||||||
|
|||||||
55
README.md
55
README.md
@@ -1,5 +1,12 @@
|
|||||||
[](https://linuxserver.io)
|
[](https://linuxserver.io)
|
||||||
|
|
||||||
|
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||||
|
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
||||||
|
[](https://discourse.linuxserver.io "post on our community forum.")
|
||||||
|
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
||||||
|
[](https://anchor.fm/linuxserverio "on hiatus. Coming back soon (late 2018).")
|
||||||
|
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
||||||
|
|
||||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
|
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
|
||||||
|
|
||||||
* regular and timely application updates
|
* regular and timely application updates
|
||||||
@@ -9,17 +16,20 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
|
|||||||
* regular security updates
|
* regular security updates
|
||||||
|
|
||||||
Find us at:
|
Find us at:
|
||||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
|
||||||
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
|
|
||||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||||
|
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
||||||
|
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
||||||
|
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
||||||
|
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
||||||
|
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
|
||||||
|
|
||||||
# [linuxserver/tvheadend](https://github.com/linuxserver/docker-tvheadend)
|
# [linuxserver/tvheadend](https://github.com/linuxserver/docker-tvheadend)
|
||||||
[](https://discord.gg/YWrKVTn)
|
[](https://github.com/linuxserver/docker-tvheadend/releases)
|
||||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")
|
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")
|
||||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")
|
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")
|
||||||

|
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||||

|
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/)
|
||||||
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/tvheadend/latest/index.html)
|
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/tvheadend/latest/index.html)
|
||||||
|
|
||||||
[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources.
|
[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources.
|
||||||
@@ -31,7 +41,7 @@ Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV D
|
|||||||
|
|
||||||
## Supported Architectures
|
## Supported Architectures
|
||||||
|
|
||||||
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||||
|
|
||||||
Simply pulling `linuxserver/tvheadend` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
Simply pulling `linuxserver/tvheadend` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||||
|
|
||||||
@@ -72,14 +82,15 @@ docker create \
|
|||||||
-v <path to data>:/config \
|
-v <path to data>:/config \
|
||||||
-v <path to recordings>:/recordings \
|
-v <path to recordings>:/recordings \
|
||||||
--device /dev/dri:/dev/dri `#optional` \
|
--device /dev/dri:/dev/dri `#optional` \
|
||||||
--device /dev/drb:/dev/dvb `#optional` \
|
--device /dev/dvb:/dev/dvb `#optional` \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
linuxserver/tvheadend
|
linuxserver/tvheadend
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Host vs. Bridge
|
#### Host vs. Bridge
|
||||||
|
|
||||||
If you use IPTV, SAT>IP or HDHomeRun, you need to create the container with --net=host and remove the -p flags. This is because of a limitation in docker and multicast.
|
If you use IPTV, SAT>IP or HDHomeRun, you need to create the container with --net=host and remove the -p flags. This is because to work with these services Tvheadend requires a multicast address of `239.255.255.250` and a UDP port of `1900` which at this time is not possible with docker bridge mode.
|
||||||
|
If you have other host services which also use multicast such as SSDP/DLNA/Emby you may experience stabilty problems. These can be solved by giving tvheadend its own IP using macavlan.
|
||||||
|
|
||||||
|
|
||||||
### docker-compose
|
### docker-compose
|
||||||
@@ -106,7 +117,7 @@ services:
|
|||||||
- 9982:9982
|
- 9982:9982
|
||||||
devices:
|
devices:
|
||||||
- /dev/dri:/dev/dri #optional
|
- /dev/dri:/dev/dri #optional
|
||||||
- /dev/drb:/dev/dvb #optional
|
- /dev/dvb:/dev/dvb #optional
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -208,17 +219,17 @@ In some cases it might be necessary to start tvheadend with additional parameter
|
|||||||
|
|
||||||
* Shell access whilst the container is running: `docker exec -it tvheadend /bin/bash`
|
* Shell access whilst the container is running: `docker exec -it tvheadend /bin/bash`
|
||||||
* To monitor the logs of the container in realtime: `docker logs -f tvheadend`
|
* To monitor the logs of the container in realtime: `docker logs -f tvheadend`
|
||||||
* container version number
|
* container version number
|
||||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' tvheadend`
|
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' tvheadend`
|
||||||
* image version number
|
* image version number
|
||||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/tvheadend`
|
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/tvheadend`
|
||||||
|
|
||||||
## Updating Info
|
## Updating Info
|
||||||
|
|
||||||
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
|
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
|
||||||
|
|
||||||
Below are the instructions for updating containers:
|
Below are the instructions for updating containers:
|
||||||
|
|
||||||
### Via Docker Run/Create
|
### Via Docker Run/Create
|
||||||
* Update the image: `docker pull linuxserver/tvheadend`
|
* Update the image: `docker pull linuxserver/tvheadend`
|
||||||
* Stop the running container: `docker stop tvheadend`
|
* Stop the running container: `docker stop tvheadend`
|
||||||
@@ -242,11 +253,14 @@ Below are the instructions for updating containers:
|
|||||||
containrrr/watchtower \
|
containrrr/watchtower \
|
||||||
--run-once tvheadend
|
--run-once tvheadend
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.
|
||||||
|
|
||||||
* You can also remove the old dangling images: `docker image prune`
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
## Building locally
|
## Building locally
|
||||||
|
|
||||||
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
||||||
```
|
```
|
||||||
git clone https://github.com/linuxserver/docker-tvheadend.git
|
git clone https://github.com/linuxserver/docker-tvheadend.git
|
||||||
cd docker-tvheadend
|
cd docker-tvheadend
|
||||||
@@ -265,8 +279,13 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **18.08.19:** - Add AMD drivers.
|
||||||
|
* **02.08.19:** - Attempt to automatically fix permissions on /dev/dri and /dev/dvb.
|
||||||
|
* **28.06.19:** - Rebasing to alpine 3.10.
|
||||||
* **27.03.19:** - Rebase to Alpine 3.9, fix init logic to only chown once.
|
* **27.03.19:** - Rebase to Alpine 3.9, fix init logic to only chown once.
|
||||||
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||||
|
* **01.03.19:** - Bump xmltv to 0.6.1.
|
||||||
|
* **28.02.19:** - add perl-lwp-useragent-determined.
|
||||||
* **17.02.19:** - Bump xmltv to 5.70, ensure version tagging works by cloning tvheadend.
|
* **17.02.19:** - Bump xmltv to 5.70, ensure version tagging works by cloning tvheadend.
|
||||||
* **14.02.19:** - Add picons path to config.
|
* **14.02.19:** - Add picons path to config.
|
||||||
* **15.01.19:** - Add pipeline logic and multi arch.
|
* **15.01.19:** - Add pipeline logic and multi arch.
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-tvheadend
|
project_name: docker-tvheadend
|
||||||
external_type: github_commit
|
external_type: github_commit
|
||||||
release_type: prerelease
|
release_type: stable
|
||||||
release_tag: release-4.2
|
release_tag: latest
|
||||||
ls_branch: release-4.2
|
ls_branch: master
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- EXT_GIT_BRANCH = 'release/4.2'
|
- EXT_GIT_BRANCH = 'master'
|
||||||
- EXT_USER = 'tvheadend'
|
- EXT_USER = 'tvheadend'
|
||||||
- EXT_REPO = 'tvheadend'
|
- EXT_REPO = 'tvheadend'
|
||||||
- BUILD_VERSION_ARG = 'TVHEADEND_COMMIT'
|
- BUILD_VERSION_ARG = 'TVHEADEND_COMMIT'
|
||||||
|
|||||||
@@ -1,108 +1,113 @@
|
|||||||
alpine-baselayout-3.1.0-r3
|
alpine-baselayout-3.1.2-r0
|
||||||
alpine-keys-2.1-r1
|
alpine-keys-2.1-r2
|
||||||
alsa-lib-1.1.8-r0
|
alsa-lib-1.1.9-r0
|
||||||
apk-tools-2.10.3-r1
|
apk-tools-2.10.4-r2
|
||||||
bash-4.4.19-r1
|
bash-5.0.0-r0
|
||||||
bsd-compat-headers-0.7.1-r0
|
bsd-compat-headers-0.7.1-r0
|
||||||
busybox-1.29.3-r10
|
busybox-1.30.1-r2
|
||||||
bzip2-1.0.6-r6
|
bzip2-1.0.6-r7
|
||||||
ca-certificates-20190108-r0
|
ca-certificates-20190108-r0
|
||||||
ca-certificates-cacert-20190108-r0
|
ca-certificates-cacert-20190108-r0
|
||||||
coreutils-8.30-r0
|
coreutils-8.31-r0
|
||||||
curl-7.64.0-r2
|
curl-7.66.0-r0
|
||||||
expat-2.2.6-r0
|
elfutils-libelf-0.168-r2
|
||||||
ffmpeg-4.0.2-r0
|
expat-2.2.8-r0
|
||||||
ffmpeg-libs-4.0.2-r0
|
ffmpeg-4.1.4-r0
|
||||||
|
ffmpeg-libs-4.1.4-r0
|
||||||
fontconfig-2.13.1-r0
|
fontconfig-2.13.1-r0
|
||||||
freetype-2.9.1-r2
|
freetype-2.10.0-r0
|
||||||
fribidi-1.0.5-r0
|
fribidi-1.0.5-r1
|
||||||
gdbm-1.13-r1
|
gdbm-1.13-r1
|
||||||
gmp-6.1.2-r1
|
gmp-6.1.2-r1
|
||||||
gnu-libiconv-1.15-r2
|
gnu-libiconv-1.15-r2
|
||||||
gnutls-3.6.7-r0
|
gnutls-3.6.8-r0
|
||||||
gzip-1.10-r0
|
gzip-1.10-r0
|
||||||
lame-3.100-r0
|
lame-3.100-r0
|
||||||
libacl-2.2.52-r5
|
libacl-2.2.52-r6
|
||||||
libass-0.14.0-r0
|
libass-0.14.0-r0
|
||||||
libattr-2.4.47-r7
|
libattr-2.4.48-r0
|
||||||
libbsd-0.8.6-r2
|
libbsd-0.9.1-r0
|
||||||
libbz2-1.0.6-r6
|
libbz2-1.0.6-r7
|
||||||
libc-utils-0.7.1-r0
|
libc-utils-0.7.1-r0
|
||||||
libcrypto1.1-1.1.1b-r1
|
libcrypto1.1-1.1.1d-r0
|
||||||
libcurl-7.64.0-r2
|
libcurl-7.66.0-r0
|
||||||
libdrm-2.4.96-r0
|
libdrm-2.4.98-r0
|
||||||
|
libdvbcsa-1.1.0-r1
|
||||||
libffi-3.2.1-r6
|
libffi-3.2.1-r6
|
||||||
libgcc-8.3.0-r0
|
libgcc-8.3.0-r0
|
||||||
libgcrypt-1.8.4-r0
|
libgcrypt-1.8.4-r2
|
||||||
libgpg-error-1.33-r0
|
libgpg-error-1.36-r2
|
||||||
libhdhomerun-libs-20161117-r1
|
libhdhomerun-libs-20161117-r1
|
||||||
libidn-1.35-r0
|
libidn-1.35-r0
|
||||||
libjpeg-turbo-1.5.3-r4
|
libjpeg-turbo-2.0.2-r0
|
||||||
libogg-1.3.3-r2
|
libogg-1.3.3-r2
|
||||||
libpciaccess-0.14-r0
|
libpciaccess-0.14-r0
|
||||||
libpng-1.6.37-r0
|
libpng-1.6.37-r1
|
||||||
libressl-2.7.5-r0
|
libssl1.1-1.1.1d-r0
|
||||||
libressl2.7-libcrypto-2.7.5-r0
|
|
||||||
libressl2.7-libssl-2.7.5-r0
|
|
||||||
libressl2.7-libtls-2.7.5-r0
|
|
||||||
libssh2-1.8.2-r0
|
|
||||||
libssl1.1-1.1.1b-r1
|
|
||||||
libstdc++-8.3.0-r0
|
libstdc++-8.3.0-r0
|
||||||
libtasn1-4.13-r0
|
libtasn1-4.14-r0
|
||||||
libtheora-1.1.1-r13
|
libtheora-1.1.1-r14
|
||||||
libtls-standalone-2.7.4-r6
|
libtls-standalone-2.9.1-r0
|
||||||
libunistring-0.9.10-r0
|
libunistring-0.9.10-r0
|
||||||
libuuid-2.33-r0
|
liburiparser-0.9.3-r0
|
||||||
libva-2.2.0-r0
|
libuuid-2.33.2-r0
|
||||||
libvdpau-1.1.1-r2
|
libva-2.4.1-r0
|
||||||
|
libva-intel-driver-2.3.0-r0
|
||||||
|
libvdpau-1.2-r0
|
||||||
libvorbis-1.3.6-r2
|
libvorbis-1.3.6-r2
|
||||||
libvpx-1.6.1-r1
|
libvpx-1.8.0-r0
|
||||||
libx11-1.6.7-r0
|
libx11-1.6.8-r1
|
||||||
libxau-1.0.8-r3
|
libxau-1.0.9-r0
|
||||||
libxcb-1.13-r2
|
libxcb-1.13.1-r0
|
||||||
libxdmcp-1.1.2-r5
|
libxdmcp-1.1.3-r0
|
||||||
libxext-1.3.3-r3
|
libxext-1.3.4-r0
|
||||||
libxfixes-5.0.3-r2
|
libxfixes-5.0.3-r2
|
||||||
libxml2-2.9.9-r1
|
libxml2-2.9.9-r2
|
||||||
|
libxshmfence-1.3-r0
|
||||||
libxslt-1.1.33-r1
|
libxslt-1.1.33-r1
|
||||||
linux-headers-4.18.13-r1
|
linux-headers-4.19.36-r0
|
||||||
linux-pam-1.3.0-r0
|
linux-pam-1.3.0-r1
|
||||||
musl-1.1.20-r4
|
llvm8-libs-8.0.0-r1
|
||||||
musl-utils-1.1.20-r4
|
mesa-19.0.6-r0
|
||||||
ncurses-libs-6.1_p20190105-r0
|
mesa-dri-ati-19.0.6-r0
|
||||||
ncurses-terminfo-6.1_p20190105-r0
|
mesa-glapi-19.0.6-r0
|
||||||
ncurses-terminfo-base-6.1_p20190105-r0
|
musl-1.1.22-r3
|
||||||
nettle-3.4.1-r0
|
musl-utils-1.1.22-r3
|
||||||
nghttp2-libs-1.35.1-r0
|
ncurses-libs-6.1_p20190518-r0
|
||||||
opus-1.3-r0
|
ncurses-terminfo-6.1_p20190518-r0
|
||||||
p11-kit-0.23.14-r0
|
ncurses-terminfo-base-6.1_p20190518-r0
|
||||||
pcre2-10.32-r1
|
nettle-3.4.1-r1
|
||||||
perl-5.26.3-r0
|
nghttp2-libs-1.39.2-r0
|
||||||
|
openssl-1.1.1d-r0
|
||||||
|
opus-1.3.1-r0
|
||||||
|
p11-kit-0.23.16.1-r0
|
||||||
|
pcre2-10.33-r0
|
||||||
|
perl-5.28.2-r1
|
||||||
perl-archive-zip-1.64-r0
|
perl-archive-zip-1.64-r0
|
||||||
perl-b-hooks-endofscope-0.24-r0
|
perl-b-hooks-endofscope-0.24-r0
|
||||||
perl-boolean-0.46-r0
|
perl-boolean-0.46-r0
|
||||||
perl-capture-tiny-0.48-r0
|
perl-capture-tiny-0.48-r0
|
||||||
perl-cgi-4.40-r0
|
perl-cgi-4.44-r0
|
||||||
perl-class-data-inheritable-0.08-r0
|
perl-class-data-inheritable-0.08-r0
|
||||||
perl-class-inspector-1.32-r0
|
perl-class-inspector-1.34-r0
|
||||||
perl-class-methodmaker-2.24-r2
|
perl-class-methodmaker-2.24-r3
|
||||||
perl-class-singleton-1.5-r0
|
perl-class-singleton-1.5-r0
|
||||||
perl-compress-raw-bzip2-2.084-r0
|
perl-compress-raw-bzip2-2.086-r1
|
||||||
perl-compress-raw-zlib-2.084-r0
|
perl-compress-raw-zlib-2.086-r1
|
||||||
perl-cpan-meta-check-0.014-r1
|
perl-cpan-meta-check-0.014-r0
|
||||||
perl-data-dumper-2.173-r0
|
perl-data-dumper-2.173-r1
|
||||||
perl-date-manip-6.75-r1
|
perl-date-manip-6.77-r0
|
||||||
perl-datetime-1.44-r0
|
perl-datetime-1.51-r0
|
||||||
perl-datetime-format-strptime-1.74-r0
|
perl-datetime-format-strptime-1.76-r0
|
||||||
perl-datetime-locale-1.22-r0
|
perl-datetime-locale-1.23-r0
|
||||||
perl-datetime-timezone-2.19-r0
|
perl-datetime-timezone-2.19-r0
|
||||||
perl-dbd-sqlite-1.62-r0
|
perl-dbd-sqlite-1.62-r1
|
||||||
perl-dbi-1.642-r0
|
perl-dbi-1.642-r1
|
||||||
perl-devel-stacktrace-2.03-r0
|
perl-devel-stacktrace-2.04-r0
|
||||||
perl-devel-symdump-2.18-r0
|
perl-devel-symdump-2.18-r0
|
||||||
perl-digest-sha1-2.13-r9
|
perl-digest-sha1-2.13-r10
|
||||||
perl-dist-checkconflicts-0.11-r1
|
perl-dist-checkconflicts-0.11-r0
|
||||||
perl-doc-5.26.3-r0
|
perl-doc-5.28.2-r1
|
||||||
perl-encode-locale-1.05-r1
|
perl-encode-locale-1.05-r1
|
||||||
perl-eval-closure-0.14-r0
|
perl-eval-closure-0.14-r0
|
||||||
perl-exception-class-1.44-r0
|
perl-exception-class-1.44-r0
|
||||||
@@ -110,11 +115,11 @@ perl-exporter-tiny-1.002001-r0
|
|||||||
perl-file-listing-6.04-r1
|
perl-file-listing-6.04-r1
|
||||||
perl-file-sharedir-1.116-r0
|
perl-file-sharedir-1.116-r0
|
||||||
perl-file-sharedir-install-0.13-r0
|
perl-file-sharedir-install-0.13-r0
|
||||||
perl-file-slurp-9999.25-r0
|
perl-file-slurp-9999.27-r0
|
||||||
perl-file-temp-0.2308-r0
|
perl-file-temp-0.2309-r0
|
||||||
perl-file-which-1.22-r0
|
perl-file-which-1.23-r0
|
||||||
perl-getopt-long-2.50-r0
|
perl-getopt-long-2.50-r0
|
||||||
perl-html-parser-3.72-r2
|
perl-html-parser-3.72-r3
|
||||||
perl-html-tagset-3.20-r1
|
perl-html-tagset-3.20-r1
|
||||||
perl-html-tree-5.07-r0
|
perl-html-tree-5.07-r0
|
||||||
perl-http-cookies-6.04-r0
|
perl-http-cookies-6.04-r0
|
||||||
@@ -123,95 +128,98 @@ perl-http-date-6.02-r1
|
|||||||
perl-http-message-6.18-r0
|
perl-http-message-6.18-r0
|
||||||
perl-http-negotiate-6.01-r1
|
perl-http-negotiate-6.01-r1
|
||||||
perl-importer-0.025-r0
|
perl-importer-0.025-r0
|
||||||
perl-io-1.25-r4
|
perl-io-1.25-r5
|
||||||
perl-io-compress-2.084-r0
|
perl-io-compress-2.086-r0
|
||||||
perl-io-html-1.001-r1
|
perl-io-html-1.001-r1
|
||||||
perl-io-socket-ssl-2.060-r0
|
perl-io-socket-ssl-2.060-r0
|
||||||
perl-io-stringy-2.111-r1
|
perl-io-stringy-2.111-r1
|
||||||
perl-ipc-run3-0.048-r0
|
perl-ipc-run3-0.048-r0
|
||||||
perl-json-2.97000-r0
|
perl-json-2.97000-r0
|
||||||
perl-libwww-6.36-r0
|
perl-libwww-6.39-r1
|
||||||
perl-lingua-en-numbers-ordinate-1.04-r1
|
perl-lingua-en-numbers-ordinate-1.04-r1
|
||||||
perl-lingua-preferred-0.2.4-r1
|
perl-lingua-preferred-0.2.4-r1
|
||||||
perl-list-moreutils-0.419-r1
|
perl-list-moreutils-0.428-r0
|
||||||
perl-lwp-mediatypes-6.02-r1
|
perl-list-moreutils-xs-0.428-r1
|
||||||
perl-module-build-0.4224-r0
|
perl-lwp-mediatypes-6.04-r0
|
||||||
|
perl-lwp-useragent-determined-1.07-r0
|
||||||
|
perl-module-build-0.4229-r0
|
||||||
perl-module-implementation-0.09-r1
|
perl-module-implementation-0.09-r1
|
||||||
|
perl-module-metadata-1.000036-r0
|
||||||
perl-module-pluggable-5.2-r0
|
perl-module-pluggable-5.2-r0
|
||||||
perl-module-runtime-0.016-r1
|
perl-module-runtime-0.016-r2
|
||||||
perl-mro-compat-0.13-r0
|
perl-mro-compat-0.13-r0
|
||||||
perl-namespace-autoclean-0.28-r0
|
perl-namespace-autoclean-0.28-r0
|
||||||
perl-namespace-clean-0.27-r0
|
perl-namespace-clean-0.27-r0
|
||||||
perl-net-http-6.09-r1
|
perl-net-http-6.19-r0
|
||||||
perl-net-libidn-0.12-r5
|
perl-net-libidn-0.12-r6
|
||||||
perl-net-ssleay-1.85-r4
|
perl-net-ssleay-1.85-r5
|
||||||
perl-package-deprecationmanager-0.17-r0
|
perl-package-deprecationmanager-0.17-r0
|
||||||
perl-package-stash-0.37-r0
|
perl-package-stash-0.38-r1
|
||||||
perl-package-stash-xs-0.28-r4
|
perl-package-stash-xs-0.29-r1
|
||||||
perl-params-classify-0.015-r0
|
perl-params-util-1.07-r6
|
||||||
perl-params-util-1.07-r5
|
perl-params-validate-1.29-r1
|
||||||
perl-params-validate-1.29-r0
|
|
||||||
perl-params-validationcompiler-0.27-r0
|
perl-params-validationcompiler-0.27-r0
|
||||||
perl-parse-recdescent-1.967015-r1
|
perl-parse-recdescent-1.967015-r1
|
||||||
perl-path-class-0.37-r0
|
perl-path-class-0.37-r0
|
||||||
perl-pod-coverage-0.23-r0
|
perl-pod-coverage-0.23-r0
|
||||||
perl-role-tiny-2.000006-r0
|
perl-role-tiny-2.000006-r0
|
||||||
perl-scalar-list-utils-1.50-r0
|
perl-scalar-list-utils-1.50-r1
|
||||||
perl-scope-guard-0.21-r0
|
perl-scope-guard-0.21-r0
|
||||||
perl-specio-0.42-r0
|
perl-specio-0.42-r0
|
||||||
perl-sub-exporter-progressive-0.001013-r0
|
perl-sub-exporter-progressive-0.001013-r0
|
||||||
perl-sub-identify-0.14-r1
|
perl-sub-identify-0.14-r2
|
||||||
perl-sub-info-0.002-r0
|
perl-sub-info-0.002-r0
|
||||||
perl-sub-install-0.928-r1
|
perl-sub-install-0.928-r0
|
||||||
perl-sub-name-0.21-r1
|
perl-sub-name-0.21-r2
|
||||||
perl-sub-quote-2.004000-r0
|
perl-sub-quote-2.004000-r0
|
||||||
perl-sub-uplevel-0.2800-r0
|
perl-sub-uplevel-0.2800-r0
|
||||||
perl-term-progressbar-2.22-r0
|
perl-term-progressbar-2.22-r0
|
||||||
perl-term-readkey-2.37-r1
|
perl-term-readkey-2.38-r1
|
||||||
perl-term-table-0.012-r0
|
perl-term-table-0.012-r0
|
||||||
perl-test-exception-0.43-r0
|
perl-test-exception-0.43-r0
|
||||||
perl-test-fatal-0.014-r1
|
perl-test-fatal-0.014-r1
|
||||||
perl-test-needs-0.002005-r1
|
perl-test-needs-0.002005-r1
|
||||||
perl-test-pod-1.52-r0
|
perl-test-pod-1.52-r0
|
||||||
perl-test-requires-0.10-r0
|
perl-test-requires-0.10-r0
|
||||||
perl-test-simple-1.302141-r0
|
perl-test-simple-1.302164-r0
|
||||||
perl-test-taint-1.06-r5
|
perl-test-taint-1.08-r0
|
||||||
perl-test-warnings-0.026-r0
|
perl-test-warnings-0.026-r0
|
||||||
perl-test-without-module-0.20-r0
|
perl-test-without-module-0.20-r0
|
||||||
perl-test2-plugin-nowarnings-0.06-r0
|
perl-test2-plugin-nowarnings-0.07-r0
|
||||||
perl-test2-suite-0.000114-r0
|
perl-test2-suite-0.000122-r0
|
||||||
perl-timedate-2.30-r1
|
perl-timedate-2.30-r1
|
||||||
perl-try-tiny-0.30-r0
|
perl-try-tiny-0.30-r1
|
||||||
perl-unicode-string-2.09-r6
|
perl-unicode-string-2.09-r7
|
||||||
perl-uri-1.74-r0
|
perl-uri-1.76-r0
|
||||||
perl-variable-magic-0.62-r0
|
perl-variable-magic-0.62-r1
|
||||||
perl-www-robotrules-6.02-r1
|
perl-www-robotrules-6.02-r1
|
||||||
perl-xml-libxml-2.0132-r1
|
perl-xml-libxml-2.0134-r2
|
||||||
perl-xml-libxslt-1.96-r0
|
perl-xml-libxslt-1.96-r1
|
||||||
perl-xml-namespacesupport-1.12-r0
|
perl-xml-namespacesupport-1.12-r0
|
||||||
perl-xml-parser-2.44-r4
|
perl-xml-parser-2.44-r5
|
||||||
perl-xml-sax-0.99-r2
|
perl-xml-sax-0.99-r2
|
||||||
perl-xml-sax-base-1.09-r0
|
perl-xml-sax-base-1.09-r0
|
||||||
perl-xml-treepp-0.43-r1
|
perl-xml-treepp-0.43-r1
|
||||||
perl-xml-twig-3.52-r1
|
perl-xml-twig-3.52-r1
|
||||||
perl-xml-writer-0.625-r2
|
perl-xml-writer-0.625-r2
|
||||||
perl-yaml-syck-1.31-r0
|
perl-yaml-syck-1.31-r1
|
||||||
python2-2.7.16-r1
|
python2-2.7.16-r1
|
||||||
readline-7.0.003-r1
|
readline-8.0.0-r0
|
||||||
scanelf-1.2.3-r0
|
scanelf-1.2.3-r0
|
||||||
sdl2-2.0.9-r0
|
sdl2-2.0.10-r0
|
||||||
shadow-4.5-r2
|
shadow-4.6-r2
|
||||||
sqlite-libs-3.28.0-r0
|
sqlite-libs-3.28.0-r0
|
||||||
ssl_client-1.29.3-r10
|
ssl_client-1.30.1-r2
|
||||||
tar-1.32-r0
|
tar-1.32-r0
|
||||||
tzdata-2019a-r0
|
tzdata-2019b-r0
|
||||||
uriparser-0.9.1-r0
|
uriparser-0.9.3-r0
|
||||||
v4l-utils-libs-1.16.2-r0
|
v4l-utils-libs-1.16.6-r0
|
||||||
|
wayland-libs-client-1.17.0-r0
|
||||||
wget-1.20.3-r0
|
wget-1.20.3-r0
|
||||||
x264-20180304-r1
|
x264-20180304-r1
|
||||||
x264-libs-20180304-r1
|
x264-libs-20180304-r1
|
||||||
x265-2.8-r1
|
x265-3.0-r0
|
||||||
x265-libs-2.8-r1
|
x265-libs-3.0-r0
|
||||||
xvidcore-1.3.4-r1
|
xvidcore-1.3.4-r1
|
||||||
xz-5.2.4-r0
|
xz-5.2.4-r0
|
||||||
xz-libs-5.2.4-r0
|
xz-libs-5.2.4-r0
|
||||||
|
|||||||
@@ -53,14 +53,15 @@ opt_param_usage_include_ports: false
|
|||||||
opt_param_device_map: true
|
opt_param_device_map: true
|
||||||
opt_param_devices:
|
opt_param_devices:
|
||||||
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "Only needed if you want to use your AMD/Intel GPU for hardware accelerated video encoding (vaapi)." }
|
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "Only needed if you want to use your AMD/Intel GPU for hardware accelerated video encoding (vaapi)." }
|
||||||
- { device_path: "/dev/dvb", device_host_path: "/dev/drb", desc: "Only needed if you want to pass through a DVB card to the container. If you use IPTV or HDHomeRun you can leave it out." }
|
- { device_path: "/dev/dvb", device_host_path: "/dev/dvb", desc: "Only needed if you want to pass through a DVB card to the container. If you use IPTV or HDHomeRun you can leave it out." }
|
||||||
opt_cap_add_param: false
|
opt_cap_add_param: false
|
||||||
optional_block_1: true
|
optional_block_1: true
|
||||||
optional_block_1_items:
|
optional_block_1_items:
|
||||||
- |
|
- |
|
||||||
#### Host vs. Bridge
|
#### Host vs. Bridge
|
||||||
|
|
||||||
If you use IPTV, SAT>IP or HDHomeRun, you need to create the container with --net=host and remove the -p flags. This is because of a limitation in docker and multicast.
|
If you use IPTV, SAT>IP or HDHomeRun, you need to create the container with --net=host and remove the -p flags. This is because to work with these services Tvheadend requires a multicast address of `239.255.255.250` and a UDP port of `1900` which at this time is not possible with docker bridge mode.
|
||||||
|
If you have other host services which also use multicast such as SSDP/DLNA/Emby you may experience stabilty problems. These can be solved by giving tvheadend its own IP using macavlan.
|
||||||
|
|
||||||
# application setup block
|
# application setup block
|
||||||
app_setup_block_enabled: true
|
app_setup_block_enabled: true
|
||||||
@@ -125,8 +126,13 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "18.08.19:", desc: "Add AMD drivers." }
|
||||||
|
- { date: "02.08.19:", desc: "Attempt to automatically fix permissions on /dev/dri and /dev/dvb." }
|
||||||
|
- { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }
|
||||||
- { date: "27.03.19:", desc: "Rebase to Alpine 3.9, fix init logic to only chown once." }
|
- { date: "27.03.19:", desc: "Rebase to Alpine 3.9, fix init logic to only chown once." }
|
||||||
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
||||||
|
- { date: "01.03.19:", desc: "Bump xmltv to 0.6.1." }
|
||||||
|
- { date: "28.02.19:", desc: "add perl-lwp-useragent-determined." }
|
||||||
- { date: "17.02.19:", desc: "Bump xmltv to 5.70, ensure version tagging works by cloning tvheadend." }
|
- { date: "17.02.19:", desc: "Bump xmltv to 5.70, ensure version tagging works by cloning tvheadend." }
|
||||||
- { date: "14.02.19:", desc: "Add picons path to config." }
|
- { date: "14.02.19:", desc: "Add picons path to config." }
|
||||||
- { date: "15.01.19:", desc: "Add pipeline logic and multi arch." }
|
- { date: "15.01.19:", desc: "Add pipeline logic and multi arch." }
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"prefer_picon": true,
|
"prefer_picon": true,
|
||||||
"chiconpath": "file:///picons/%C.png",
|
"chiconpath": "file:///picons/%C.png",
|
||||||
"piconpath": "file:///picons/",
|
"piconpath": "file:///picons/",
|
||||||
"piconscheme": 0,
|
"piconscheme": 0,
|
||||||
"chiconscheme": 2
|
"chiconscheme": 2
|
||||||
}
|
}
|
||||||
|
|||||||
34
root/etc/cont-init.d/50-gid-video
Normal file
34
root/etc/cont-init.d/50-gid-video
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
# check for the existence of a video and/or tuner device
|
||||||
|
if [ -e /dev/dri ] || [ -e /dev/dvb ]; then
|
||||||
|
if [ -e /dev/dri ]; then
|
||||||
|
VIDEO_GID=$(stat -c '%g' /dev/dri/* | grep -v '^0$' | head -n 1)
|
||||||
|
else
|
||||||
|
VIDEO_GID=$(stat -c '%g' /dev/dvb/* | grep -v '^0$' | head -n 1)
|
||||||
|
fi
|
||||||
|
# just add abc to root if stuff in dri/dvb is root owned
|
||||||
|
if [ -z "${VIDEO_GID}" ]; then
|
||||||
|
usermod -a -G root abc
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if this GID matches the current abc user
|
||||||
|
ABCGID=$(getent group abc | awk -F: '{print $3}')
|
||||||
|
if [ "${ABCGID}" == "${VIDEO_GID}" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the GID is taken and swap to 65533
|
||||||
|
CURRENT=$(getent group ${VIDEO_GID} | awk -F: '{print $1}')
|
||||||
|
if [ -z "${CURRENT}" ] || [ "${CURRENT}" == 'video' ]; then
|
||||||
|
groupmod -g ${VIDEO_GID} video
|
||||||
|
usermod -a -G video abc
|
||||||
|
else
|
||||||
|
groupmod -g 65533 ${CURRENT}
|
||||||
|
groupmod -g ${VIDEO_GID} video
|
||||||
|
usermod -a -G video abc
|
||||||
|
fi
|
||||||
0
root/etc/services.d/tvheadend/run
Normal file → Executable file
0
root/etc/services.d/tvheadend/run
Normal file → Executable file
Reference in New Issue
Block a user