forked from Ivasoft/docker-tvheadend
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a054b8a57 | ||
|
|
6d486e90d0 | ||
|
|
4aeef6554b | ||
|
|
2e0e6d028c | ||
|
|
d4fb416e62 | ||
|
|
51f45f4d30 | ||
|
|
6a4d853235 | ||
|
|
0b1069a088 | ||
|
|
c9181d7131 | ||
|
|
9a3b13ad27 | ||
|
|
bdc1f87ac6 | ||
|
|
e4e07121af | ||
|
|
0e8ea6063c | ||
|
|
9b161c87f9 | ||
|
|
ec6ff1a886 | ||
|
|
87d4b9c811 | ||
|
|
0d53fe87a0 | ||
|
|
314f59a89f | ||
|
|
4e44306b81 | ||
|
|
68a5beb2ce | ||
|
|
9ce7af875d | ||
|
|
51e21fbae9 | ||
|
|
97ed2af733 | ||
|
|
bac8634898 | ||
|
|
ad949ef08c | ||
|
|
310b4e4fc2 | ||
|
|
342e1f8627 | ||
|
|
82c9a350ac | ||
|
|
82ae97760e | ||
|
|
b0d9b54c45 | ||
|
|
8fbc5fdec8 | ||
|
|
abf4ff8bd9 | ||
|
|
cf3b5da9a3 |
111
Dockerfile
111
Dockerfile
@@ -1,19 +1,20 @@
|
|||||||
FROM lsiobase/alpine:3.5
|
FROM lsiobase/alpine:3.6
|
||||||
MAINTAINER saarg
|
MAINTAINER saarg
|
||||||
|
|
||||||
# package version
|
|
||||||
ARG ARGTABLE_VER="2.13"
|
|
||||||
ARG XMLTV_VER="0.5.69"
|
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
LABEL build_version="Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
|
|
||||||
|
# package version
|
||||||
|
ARG ARGTABLE_VER="2.13"
|
||||||
|
ARG TZ="Europe/Oslo"
|
||||||
|
ARG XMLTV_VER="0.5.69"
|
||||||
|
|
||||||
# Environment settings
|
# Environment settings
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches
|
||||||
COPY patches/ /tmp/patches/
|
COPY patches/ /tmp/patches/
|
||||||
|
|
||||||
# install build packages
|
# install build packages
|
||||||
@@ -22,7 +23,6 @@ RUN \
|
|||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
cmake \
|
cmake \
|
||||||
coreutils \
|
|
||||||
ffmpeg-dev \
|
ffmpeg-dev \
|
||||||
file \
|
file \
|
||||||
findutils \
|
findutils \
|
||||||
@@ -30,33 +30,49 @@ RUN \
|
|||||||
gcc \
|
gcc \
|
||||||
gettext-dev \
|
gettext-dev \
|
||||||
git \
|
git \
|
||||||
libhdhomerun-dev \
|
|
||||||
libgcrypt-dev \
|
libgcrypt-dev \
|
||||||
|
libhdhomerun-dev \
|
||||||
|
libressl-dev \
|
||||||
libtool \
|
libtool \
|
||||||
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
mercurial \
|
||||||
libressl-dev \
|
opus-dev \
|
||||||
patch \
|
patch \
|
||||||
|
pcre2-dev \
|
||||||
perl-dev \
|
perl-dev \
|
||||||
pkgconf \
|
pkgconf \
|
||||||
sdl-dev \
|
sdl-dev \
|
||||||
uriparser-dev \
|
uriparser-dev \
|
||||||
wget \
|
wget \
|
||||||
|
x264-dev \
|
||||||
|
x265-dev \
|
||||||
zlib-dev && \
|
zlib-dev && \
|
||||||
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
|
gnu-libiconv-dev && \
|
||||||
|
|
||||||
# add runtime dependencies required in build stage
|
# install runtime packages
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
bsd-compat-headers \
|
bsd-compat-headers \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
curl \
|
curl \
|
||||||
|
ffmpeg \
|
||||||
|
ffmpeg-libs \
|
||||||
gzip \
|
gzip \
|
||||||
libcrypto1.0 \
|
libcrypto1.0 \
|
||||||
libcurl \
|
libcurl \
|
||||||
libssl1.0 \
|
libhdhomerun-libs \
|
||||||
linux-headers \
|
|
||||||
libressl \
|
libressl \
|
||||||
|
libssl1.0 \
|
||||||
|
libvpx \
|
||||||
|
libxml2 \
|
||||||
|
libxslt \
|
||||||
|
linux-headers \
|
||||||
|
opus \
|
||||||
|
pcre2 \
|
||||||
perl \
|
perl \
|
||||||
perl-archive-zip \
|
perl-archive-zip \
|
||||||
perl-boolean \
|
perl-boolean \
|
||||||
@@ -71,6 +87,7 @@ RUN \
|
|||||||
perl-dbd-sqlite \
|
perl-dbd-sqlite \
|
||||||
perl-dbi \
|
perl-dbi \
|
||||||
perl-digest-sha1 \
|
perl-digest-sha1 \
|
||||||
|
perl-doc \
|
||||||
perl-file-slurp \
|
perl-file-slurp \
|
||||||
perl-file-temp \
|
perl-file-temp \
|
||||||
perl-file-which \
|
perl-file-which \
|
||||||
@@ -112,46 +129,16 @@ RUN \
|
|||||||
tar \
|
tar \
|
||||||
uriparser \
|
uriparser \
|
||||||
wget \
|
wget \
|
||||||
|
x264 \
|
||||||
|
x265 \
|
||||||
zlib && \
|
zlib && \
|
||||||
|
apk add --no-cache \
|
||||||
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
|
gnu-libiconv && \
|
||||||
|
|
||||||
# install perl modules for xmltv
|
# install perl modules for xmltv
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
||||||
cpanm DateTime::Format::ISO8601 && \
|
cpanm --installdeps /tmp/patches && \
|
||||||
cpanm DateTime::Format::SQLite && \
|
|
||||||
cpanm Encode && \
|
|
||||||
cpanm File::HomeDir && \
|
|
||||||
cpanm File::Path && \
|
|
||||||
cpanm HTML::Entities && \
|
|
||||||
cpanm HTML::TableExtract && \
|
|
||||||
cpanm HTTP::Cache::Transparent && \
|
|
||||||
cpanm inc && \
|
|
||||||
cpanm JSON::PP && \
|
|
||||||
cpanm LWP::Simple && \
|
|
||||||
cpanm LWP::UserAgent && \
|
|
||||||
cpanm PerlIO::gzip && \
|
|
||||||
cpanm SOAP::Lite && \
|
|
||||||
cpanm Storable && \
|
|
||||||
cpanm Unicode::UTF8simple && \
|
|
||||||
cpanm version && \
|
|
||||||
cpanm WWW::Mechanize && \
|
|
||||||
cpanm XML::DOM && \
|
|
||||||
|
|
||||||
# build libiconv
|
|
||||||
mkdir -p \
|
|
||||||
/tmp/iconv-src && \
|
|
||||||
curl -o \
|
|
||||||
/tmp/iconv.tar.gz -L \
|
|
||||||
ftp://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz && \
|
|
||||||
tar xf /tmp/iconv.tar.gz -C \
|
|
||||||
/tmp/iconv-src --strip-components=1 && \
|
|
||||||
cd /tmp/iconv-src && \
|
|
||||||
./configure \
|
|
||||||
--prefix=/usr/local && \
|
|
||||||
patch -p1 -i \
|
|
||||||
/tmp/patches/libiconv-1-fixes.patch && \
|
|
||||||
make && \
|
|
||||||
make install && \
|
|
||||||
libtool --finish /usr/local/lib && \
|
|
||||||
|
|
||||||
# build dvb-apps
|
# build dvb-apps
|
||||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
||||||
@@ -180,28 +167,32 @@ RUN \
|
|||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--sysconfdir=/config && \
|
--sysconfdir=/config && \
|
||||||
make && \
|
make && \
|
||||||
make install && \
|
make install && \
|
||||||
|
|
||||||
# build XMLTV
|
# build XMLTV
|
||||||
curl -o /tmp/xmtltv-src.tar.bz2 -L \
|
curl -o \
|
||||||
|
/tmp/xmtltv-src.tar.bz2 -L \
|
||||||
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||||
tar xf /tmp/xmtltv-src.tar.bz2 -C \
|
tar xf \
|
||||||
|
/tmp/xmtltv-src.tar.bz2 -C \
|
||||||
/tmp --strip-components=1 && \
|
/tmp --strip-components=1 && \
|
||||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||||
/bin/echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
||||||
make && \
|
make && \
|
||||||
make test && \
|
make test && \
|
||||||
make install && \
|
make install && \
|
||||||
|
|
||||||
# build argtable2
|
# build argtable2
|
||||||
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/tmp/argtable && \
|
/tmp/argtable && \
|
||||||
curl -o \
|
curl -o \
|
||||||
/tmp/argtable-src.tar.gz -L \
|
/tmp/argtable-src.tar.gz -L \
|
||||||
"https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \
|
"https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \
|
||||||
tar xf /tmp/argtable-src.tar.gz -C \
|
tar xf \
|
||||||
|
/tmp/argtable-src.tar.gz -C \
|
||||||
/tmp/argtable --strip-components=1 && \
|
/tmp/argtable --strip-components=1 && \
|
||||||
|
cp /tmp/patches/config.* /tmp/argtable && \
|
||||||
cd /tmp/argtable && \
|
cd /tmp/argtable && \
|
||||||
./configure \
|
./configure \
|
||||||
--prefix=/usr && \
|
--prefix=/usr && \
|
||||||
@@ -209,7 +200,7 @@ RUN \
|
|||||||
make check && \
|
make check && \
|
||||||
make install && \
|
make install && \
|
||||||
|
|
||||||
# build comskip
|
# build comskip
|
||||||
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
||||||
cd /tmp/comskip && \
|
cd /tmp/comskip && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
@@ -219,14 +210,6 @@ RUN \
|
|||||||
make && \
|
make && \
|
||||||
make install && \
|
make install && \
|
||||||
|
|
||||||
# install runtime packages
|
|
||||||
apk add --no-cache \
|
|
||||||
ffmpeg \
|
|
||||||
ffmpeg-libs \
|
|
||||||
libhdhomerun-libs \
|
|
||||||
libxml2 \
|
|
||||||
libxslt && \
|
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
apk del --purge \
|
apk del --purge \
|
||||||
build-dependencies && \
|
build-dependencies && \
|
||||||
|
|||||||
31
README.md
31
README.md
@@ -13,14 +13,13 @@ The [LinuxServer.io][linuxserverurl] team brings you another container release f
|
|||||||
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||||
|
|
||||||
# linuxserver/tvheadend
|
# linuxserver/tvheadend
|
||||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")[](http://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[][hub][][hub][](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-tvheadend/)
|
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")[](https://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[][hub][][hub][](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-tvheadend/)
|
||||||
|
|
||||||
|
|
||||||
[Tvheadend](https://www.tvheadend.org/) 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/) 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 offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.
|
Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.
|
||||||
Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).
|
Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).
|
||||||
|
|
||||||
[][appurl]
|
[][appurl]
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -40,13 +39,15 @@ docker create \
|
|||||||
The --device=/dev/dvb is 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.
|
The --device=/dev/dvb is 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.
|
||||||
|
|
||||||
|
|
||||||
You can choose between ,using tags, latest (default, and no tag required or a specific stable version of tvheadend.
|
You can choose between ,using tags, latest (default, and no tag required or a specific release branch of tvheadend.
|
||||||
|
|
||||||
Add one of the tags, if required, to the linuxserver/tvheadend line of the run/create command in the following format, linuxserver/tvheadend:stable-4.0.9
|
Add one of the tags, if required, to the linuxserver/tvheadend line of the run/create command in the following format, linuxserver/tvheadend:release-4.2
|
||||||
|
|
||||||
#### Tags
|
#### Tags
|
||||||
|
|
||||||
+ **stable-4.0.9** : latest stable version.
|
+ **release-4.2** : latest release from 4.2 branch. Freshly built every friday night uk time.
|
||||||
|
+ **stable-4.2.1** : old stable version. Will not be updated anymore!
|
||||||
|
+ **stable-4.0.9** : old stable version. Will not be updated anymore!
|
||||||
|
|
||||||
#### Host vs. Bridge
|
#### Host vs. Bridge
|
||||||
|
|
||||||
@@ -121,7 +122,7 @@ This container comes with Comskip for commercial flagging of recordings. This yo
|
|||||||
Go to Configuration --> Recording. Change the view level to advanced in the top right corner, and add the below in the Post-processor command field.
|
Go to Configuration --> Recording. Change the view level to advanced in the top right corner, and add the below in the Post-processor command field.
|
||||||
|
|
||||||
```
|
```
|
||||||
comskip --ini=/config/comskip/comskip.ini "%f"
|
/usr/bin/comskip --ini=/config/comskip/comskip.ini "%f"
|
||||||
```
|
```
|
||||||
|
|
||||||
Now comskip will run after each recording is finished. You will find comskip.ini in the comskip folder of your /config volume mapping. See the [Comskip](http://www.kaashoek.com/comskip/) homepage for tuning of the ini file.
|
Now comskip will run after each recording is finished. You will find comskip.ini in the comskip folder of your /config volume mapping. See the [Comskip](http://www.kaashoek.com/comskip/) homepage for tuning of the ini file.
|
||||||
@@ -149,8 +150,24 @@ You need to enable minimum advanced view level to see the picons options.
|
|||||||
* 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
|
||||||
|
|
||||||
|
`docker inspect -f '{{ index .Config.Labels "build_version" }}' tvheadend`
|
||||||
|
|
||||||
|
* image version number
|
||||||
|
|
||||||
|
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/tvheadend`
|
||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
+ **02.09.2017:** Add codec dependencies.
|
||||||
|
+ **13.07.2017:** Increase uniformity across all archs.
|
||||||
|
+ **08.07.2017:** Update README with full path for comskip.
|
||||||
|
+ **02.07.2017:** Move to one branch for all 4.2 releases.
|
||||||
|
+ **27.05.2017:** Rebase to alpine 3.6.
|
||||||
|
+ **01.05.2017:** Update to tvheadend 4.2.1 stable.
|
||||||
|
+ **18.04.2017:** Use repo version of gnu-libiconv rather than compiling.
|
||||||
|
+ **09.04.2017:** Chain cpanm installs in one block and use --installdeps.
|
||||||
+ **09.02.2017:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
+ **09.02.2017:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||||
+ **07.02.2017:** Add variable to add additional runtime paramters.
|
+ **07.02.2017:** Add variable to add additional runtime paramters.
|
||||||
+ **05.02.2017:** Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
+ **05.02.2017:** Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
||||||
|
|||||||
1466
patches/config.guess
vendored
Normal file
1466
patches/config.guess
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1836
patches/config.sub
vendored
Normal file
1836
patches/config.sub
vendored
Normal file
File diff suppressed because it is too large
Load Diff
22
patches/cpanfile
Normal file
22
patches/cpanfile
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
requires 'perl' => '5.24.0';
|
||||||
|
|
||||||
|
# perl packages for tvheadend x86
|
||||||
|
requires 'DateTime::Format::ISO8601' ;
|
||||||
|
requires 'DateTime::Format::SQLite' ;
|
||||||
|
requires 'Encode' ;
|
||||||
|
requires 'File::HomeDir' ;
|
||||||
|
requires 'File::Path' ;
|
||||||
|
requires 'HTML::Entities' ;
|
||||||
|
requires 'HTML::TableExtract' ;
|
||||||
|
requires 'HTTP::Cache::Transparent' => ">= 1.3, != 1.4" ;
|
||||||
|
requires 'inc' ;
|
||||||
|
requires 'JSON::PP' ;
|
||||||
|
requires 'LWP::Simple' ;
|
||||||
|
requires 'LWP::UserAgent' ;
|
||||||
|
requires 'PerlIO::gzip' ;
|
||||||
|
requires 'SOAP::Lite' ;
|
||||||
|
requires 'Storable' ;
|
||||||
|
requires 'Unicode::UTF8simple' ;
|
||||||
|
requires 'version' ;
|
||||||
|
requires 'WWW::Mechanize' ;
|
||||||
|
requires 'XML::DOM' ;
|
||||||
Reference in New Issue
Block a user