forked from Ivasoft/docker-tvheadend
Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
81abf8bc9b |
94
Dockerfile
94
Dockerfile
@@ -1,8 +1,9 @@
|
||||
FROM lsiobase/alpine:3.5
|
||||
FROM lsiobase/alpine:3.6
|
||||
MAINTAINER saarg
|
||||
|
||||
# package version
|
||||
# package version
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG TZ="Europe/Oslo"
|
||||
ARG XMLTV_VER="0.5.69"
|
||||
|
||||
# set version label
|
||||
@@ -13,7 +14,7 @@ LABEL build_version="Build-date:- ${BUILD_DATE}"
|
||||
# Environment settings
|
||||
ENV HOME="/config"
|
||||
|
||||
# copy patches
|
||||
# copy patches
|
||||
COPY patches/ /tmp/patches/
|
||||
|
||||
# install build packages
|
||||
@@ -22,7 +23,6 @@ RUN \
|
||||
autoconf \
|
||||
automake \
|
||||
cmake \
|
||||
coreutils \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
findutils \
|
||||
@@ -30,33 +30,43 @@ RUN \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
git \
|
||||
libhdhomerun-dev \
|
||||
libgcrypt-dev \
|
||||
libhdhomerun-dev \
|
||||
libressl-dev \
|
||||
libtool \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
make \
|
||||
mercurial \
|
||||
libressl-dev \
|
||||
patch \
|
||||
pcre2-dev \
|
||||
perl-dev \
|
||||
pkgconf \
|
||||
sdl-dev \
|
||||
uriparser-dev \
|
||||
wget \
|
||||
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 \
|
||||
bsd-compat-headers \
|
||||
bzip2 \
|
||||
curl \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
gzip \
|
||||
libcrypto1.0 \
|
||||
libcurl \
|
||||
libssl1.0 \
|
||||
linux-headers \
|
||||
libhdhomerun-libs \
|
||||
libressl \
|
||||
libssl1.0 \
|
||||
libxml2 \
|
||||
libxslt \
|
||||
linux-headers \
|
||||
pcre2 \
|
||||
perl \
|
||||
perl-archive-zip \
|
||||
perl-boolean \
|
||||
@@ -71,6 +81,7 @@ RUN \
|
||||
perl-dbd-sqlite \
|
||||
perl-dbi \
|
||||
perl-digest-sha1 \
|
||||
perl-doc \
|
||||
perl-file-slurp \
|
||||
perl-file-temp \
|
||||
perl-file-which \
|
||||
@@ -113,45 +124,13 @@ RUN \
|
||||
uriparser \
|
||||
wget \
|
||||
zlib && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
gnu-libiconv && \
|
||||
|
||||
# install perl modules for xmltv
|
||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
||||
cpanm DateTime::Format::ISO8601 && \
|
||||
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 && \
|
||||
cpanm --installdeps /tmp/patches && \
|
||||
|
||||
# build dvb-apps
|
||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
||||
@@ -180,27 +159,30 @@ RUN \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/config && \
|
||||
make && \
|
||||
make install && \
|
||||
make install && \
|
||||
|
||||
# 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" && \
|
||||
tar xf /tmp/xmtltv-src.tar.bz2 -C \
|
||||
tar xf \
|
||||
/tmp/xmtltv-src.tar.bz2 -C \
|
||||
/tmp --strip-components=1 && \
|
||||
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 test && \
|
||||
make install && \
|
||||
|
||||
# build argtable2
|
||||
# build argtable2
|
||||
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
||||
mkdir -p \
|
||||
/tmp/argtable && \
|
||||
curl -o \
|
||||
/tmp/argtable-src.tar.gz -L \
|
||||
"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 && \
|
||||
cd /tmp/argtable && \
|
||||
./configure \
|
||||
@@ -209,7 +191,7 @@ RUN \
|
||||
make check && \
|
||||
make install && \
|
||||
|
||||
# build comskip
|
||||
# build comskip
|
||||
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
||||
cd /tmp/comskip && \
|
||||
./autogen.sh && \
|
||||
@@ -219,14 +201,6 @@ RUN \
|
||||
make && \
|
||||
make install && \
|
||||
|
||||
# install runtime packages
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
libhdhomerun-libs \
|
||||
libxml2 \
|
||||
libxslt && \
|
||||
|
||||
# cleanup
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
|
||||
35
README.md
35
README.md
@@ -2,6 +2,8 @@
|
||||
[forumurl]: https://forum.linuxserver.io
|
||||
[ircurl]: https://www.linuxserver.io/irc/
|
||||
[podcasturl]: https://www.linuxserver.io/podcast/
|
||||
[appurl]: https://www.tvheadend.org/
|
||||
[hub]: https://hub.docker.com/r/linuxserver/tvheadend/
|
||||
|
||||
[][linuxserverurl]
|
||||
|
||||
@@ -11,16 +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!
|
||||
|
||||
# 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/)
|
||||
[hub]: https://hub.docker.com/r/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 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).
|
||||
|
||||
[][tvheadendurl]
|
||||
[tvheadendurl]: https://www.tvheadend.org/
|
||||
[][appurl]
|
||||
|
||||
## 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.
|
||||
|
||||
|
||||
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
|
||||
|
||||
+ **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
|
||||
|
||||
@@ -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.
|
||||
|
||||
```
|
||||
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.
|
||||
@@ -137,7 +138,7 @@ If you have EPG data in XML format from a supplier, you can drop it in the data
|
||||
If you use WebGrab+Plus, choose the WebGrab+Plus XML file grabber. The XML file goes in the same path as above.
|
||||
The xml file has to be named guide.xml.
|
||||
|
||||
For advanced setup of tvheadend, go to [Tvheadend][tvheadendurl]
|
||||
For advanced setup of tvheadend, go to [Tvheadend][appurl]
|
||||
|
||||
**Picons**
|
||||
|
||||
@@ -149,8 +150,22 @@ 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`
|
||||
* 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
|
||||
|
||||
+ **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.
|
||||
+ **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.
|
||||
|
||||
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