Compare commits

...

38 Commits
22 ... 75

Author SHA1 Message Date
saarg
bac8634898 Merge pull request #49 from linuxserver/gnu-libiconv
use repo version of gnu-libiconv rather than compile it
2017-04-18 22:50:29 +02:00
sparklyballs
ad949ef08c use repo version of gnu-libiconv rather than compile it 2017-04-18 21:18:36 +01:00
saarg
310b4e4fc2 Merge pull request #47 from linuxserver/cpanm_one_block
use one block and --installdeps for cpanm packages
2017-04-09 23:04:37 +02:00
sparklyballs
342e1f8627 "pin HTTP::Cache::Transparent " version via cpanfile 2017-04-09 13:47:20 +01:00
sparklyballs
82c9a350ac use cpanfile in patches folder for perl dependencies 2017-04-09 13:16:20 +01:00
sparklyballs
82ae97760e standardise build 2017-04-09 11:51:49 +01:00
sparklyballs
b0d9b54c45 standardise build 2017-04-09 11:51:17 +01:00
sparklyballs
8fbc5fdec8 use one block and --installdeps for cpanm packages 2017-04-09 09:58:32 +01:00
j0nnymoe
abf4ff8bd9 Merge pull request #45 from linuxserver/change_cpanm_order
change order of perl cpan package installs
2017-04-08 01:01:12 +01:00
sparklyballs
cf3b5da9a3 change order of perl cpan package installs 2017-04-08 00:32:31 +01:00
sparklyballs
81abf8bc9b fix formatting markdown README 2017-03-15 17:51:03 +00:00
sparklyballs
bc66f48037 Merge pull request #42 from linuxserver/perl
Perl changes, add picons file to gitignore and update XMLTV to 0.5.69
2017-02-09 22:50:13 +00:00
tobbenb
82b4aa4778 Change from openssl to libressl 2017-02-09 23:03:58 +01:00
tobbenb
131e9994ad Delete perl-unicode patch 2017-02-09 22:27:34 +01:00
tobbenb
452c471a56 Update README 2017-02-09 22:25:03 +01:00
tobbenb
41876bfedc Update XMLTV to 0.5.69 2017-02-09 20:00:04 +01:00
tobbenb
b995fe1041 Update XMLTV to 0.5.69 2017-02-09 19:03:11 +01:00
tobbenb
3a6ae839ba Add picons.tar.bz2 to .gitignore 2017-02-09 19:01:59 +01:00
tobbenb
872f6945dd Use alpine packages of perl modules instead of cpan 2017-02-09 19:00:51 +01:00
sparklyballs
6011e4a322 Merge pull request #41 from linuxserver/runopts-mast
Add variable to add additional runtime paramters
2017-02-08 11:18:27 +00:00
tobbenb
f7d763f73f Fix missing open line at end of run file 2017-02-07 22:28:56 +01:00
tobbenb
c45f84aa27 Add variable to add additional runtime paramters 2017-02-07 22:23:55 +01:00
sparklyballs
dc1d442d96 Merge pull request #37 from linuxserver/alpine3.5
Update Alpine to 3.5, change dvb-apps to only compile needed libs and update README.
2017-02-05 14:32:48 +00:00
tobbenb
a7c57ecc35 Update README 2017-02-05 14:57:48 +01:00
tobbenb
ec5307ef63 Update to Alpine 3.5 and change dvb-apps to only compile needed libs 2017-02-04 23:01:36 +01:00
sparklyballs
abfafbb52e fix badges 2017-01-28 13:41:53 +00:00
Neil
5a7a4d31f0 Update README.md 2017-01-23 22:52:39 +00:00
Neil
f8731afa97 Update README.md 2017-01-23 22:52:22 +00:00
Neil
d9bde53d3d Update README.md 2017-01-23 22:50:27 +00:00
sparklyballs
62dc7d0d26 Merge pull request #34 from tobbenb/master
Add picons to /picons and add info to README
2016-11-14 21:50:29 +00:00
tobbenb
ced7dc0842 Add permission fix for /picons 2016-11-14 22:10:07 +01:00
tobbenb
0605182ffc Add picons to /picons and add info to README 2016-11-14 20:39:37 +01:00
sparklyballs
dbc65430eb Update Dockerfile 2016-10-21 23:46:56 +01:00
sparklyballs
ed2383819d add extra parameters info 2016-10-17 23:54:46 +01:00
sparklyballs
ae729f43d5 update media links README 2016-10-07 10:38:19 +01:00
sparklyballs
ae1d953f12 update image link 2016-10-05 12:20:56 +01:00
sparklyballs
42eeb7b99e Merge pull request #33 from sparklyballs/repo-change
switch to european mirror to download libiconv source
2016-09-24 23:11:43 +01:00
sparklyballs
e0127d992c switch to european mirror to download libiconv source 2016-09-24 22:53:09 +01:00
9 changed files with 132 additions and 102 deletions

View File

@@ -1,7 +1,7 @@
<!--- Provide a general summary of the issue in the Title above -->
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://www.linuxserver.io/wp-content/uploads/2015/06/linuxserver_medium.png)][linuxserverurl]
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you have an issue with the project, please provide us with the following information -->

View File

@@ -1,7 +1,7 @@
<!--- Provide a general summary of your changes in the Title above -->
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://www.linuxserver.io/wp-content/uploads/2015/06/linuxserver_medium.png)][linuxserverurl]
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- Before submitting a pull request please check the following -->

3
.gitignore vendored
View File

@@ -41,3 +41,6 @@ $RECYCLE.BIN/
Network Trash Folder
Temporary Items
.apdisk
# Picons file
picons.tar.bz2

View File

@@ -1,15 +1,32 @@
FROM lsiobase/alpine
FROM lsiobase/alpine:3.5
MAINTAINER saarg
# package version
# package version
ARG ARGTABLE_VER="2.13"
ARG UNICODE_VER="2.09"
ARG XMLTV_VER="0.5.68"
ARG FFMPEG_VER="ffmpeg"
ARG TZ="Europe/Oslo"
ARG XMLTV_VER="0.5.69"
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Build-date:- ${BUILD_DATE}"
# Environment settings
ENV HOME="/config"
# copy patches
# copy patches
COPY patches/ /tmp/patches/
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Build-date:- ${BUILD_DATE}"
# Environment settings
ENV HOME="/config"
# copy patches
COPY patches/ /tmp/patches/
# install build packages
@@ -19,7 +36,7 @@ RUN \
automake \
cmake \
coreutils \
ffmpeg-dev \
${FFMPEG_VER}-dev \
file \
findutils \
g++ \
@@ -33,7 +50,7 @@ RUN \
libxslt-dev \
make \
mercurial \
openssl-dev \
libressl-dev \
patch \
perl-dev \
pkgconf \
@@ -41,6 +58,10 @@ RUN \
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
apk add --no-cache \
@@ -52,18 +73,24 @@ RUN \
libcurl \
libssl1.0 \
linux-headers \
openssl \
libressl \
perl \
perl-archive-zip \
perl-boolean \
perl-capture-tiny \
perl-cgi \
perl-compress-raw-zlib \
perl-data-dumper \
perl-date-manip \
perl-datetime \
perl-datetime-format-strptime \
perl-datetime-timezone \
perl-dbd-sqlite \
perl-dbi \
perl-digest-sha1 \
perl-file-slurp \
perl-file-temp \
perl-file-which \
perl-getopt-long \
perl-html-parser \
perl-html-tree \
@@ -71,96 +98,48 @@ RUN \
perl-io \
perl-io-compress \
perl-io-html \
perl-io-socket-ssl \
perl-io-stringy \
perl-json \
perl-libwww \
perl-lingua-en-numbers-ordinate \
perl-lingua-preferred \
perl-list-moreutils \
perl-module-build \
perl-module-pluggable \
perl-net-ssleay \
perl-parse-recdescent \
perl-path-class \
perl-scalar-list-utils \
perl-term-progressbar \
perl-term-readkey \
perl-test-exception \
perl-test-requires \
perl-timedate \
perl-try-tiny \
perl-unicode-string \
perl-xml-libxml \
perl-xml-libxslt \
perl-xml-parser \
perl-xml-sax \
perl-xml-treepp \
perl-xml-twig \
perl-xml-writer \
python \
tar \
uriparser \
wget \
zlib && \
# build libiconv
mkdir -p \
/tmp/iconv-src && \
curl -o \
/tmp/iconv.tar.gz -L \
http://ftp.gnu.org/pub/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 && \
# install perl modules
# install perl modules for xmltv
curl -L http://cpanmin.us | perl - App::cpanminus && \
cpanm Date::Language && \
cpanm DateTime::Format::ISO8601 && \
cpanm DateTime::Format::Strptime && \
cpanm HTML::Entities && \
cpanm HTML::TableExtract && \
cpanm HTML::TreeBuilder && \
cpanm HTTP::Cache::Transparent && \
cpanm inc && \
cpanm IO::Scalar && \
cpanm IO::Socket::SSL && \
cpanm JSON::PP && \
cpanm Lingua::EN::Numbers::Ordinate && \
cpanm Lingua::Preferred && \
cpanm List::MoreUtils && \
cpanm LWP::Simple && \
cpanm LWP::UserAgent && \
cpanm PerlIO::gzip && \
cpanm SOAP::Lite && \
cpanm Storable && \
cpanm Term::ProgressBar && \
cpanm Unicode::UTF8simple && \
cpanm version && \
cpanm WWW::Mechanize && \
cpanm XML::DOM && \
cpanm XML::LibXML && \
cpanm XML::LibXSLT && \
cpanm XML::TreePP && \
cpanm XML::Twig && \
cpanm XML::Writer && \
# patch and build perl-unicode-string
mkdir -p \
/tmp/unicode && \
curl -o \
/tmp/unicode-src.tar.gz -L \
"http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Unicode-String-${UNICODE_VER}.tar.gz" && \
tar xzf /tmp/unicode-src.tar.gz -C \
/tmp/unicode --strip-components=1 && \
cd /tmp/unicode/lib/Unicode && \
patch -i /tmp/patches/perl-unicode.patch && \
cd /tmp/unicode && \
perl Makefile.PL && \
make && \
make test && \
make install && \
cpanm --installdeps /tmp/patches && \
# build dvb-apps
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
cd /tmp/dvb-apps && \
make && \
make install && \
make -C lib && \
make -C lib install && \
# build tvheadend
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
@@ -196,7 +175,7 @@ RUN \
make test && \
make install && \
# build argtable2
# build argtable2
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
mkdir -p \
/tmp/argtable && \
@@ -212,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 && \
@@ -224,11 +203,14 @@ RUN \
# install runtime packages
apk add --no-cache \
ffmpeg \
ffmpeg-libs \
${FFMPEG_VER} \
${FFMPEG_VER}-libs \
libhdhomerun-libs \
libxml2 \
libxslt && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
gnu-libiconv && \
# cleanup
apk del --purge \
@@ -240,6 +222,9 @@ RUN \
# copy local files
COPY root/ /
# add picons
ADD picons.tar.bz2 /picons
# ports and volumes
EXPOSE 9981 9982
VOLUME /config /recordings

View File

@@ -1,9 +1,11 @@
[linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/index.php/irc/
[podcasturl]: https://www.linuxserver.io/index.php/category/podcast/
[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/
[![linuxserver.io](https://www.linuxserver.io/wp-content/uploads/2015/06/linuxserver_medium.png)][linuxserverurl]
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
* [forum.linuxserver.io][forumurl]
@@ -11,15 +13,14 @@ 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://images.microbadger.com/badges/image/linuxserver/tvheadend.svg)](http://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/tvheadend.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/tvheadend.svg)][hub][![Build Status](http://jenkins.linuxserver.io:8080/buildStatus/icon?job=Dockers/LinuxServer.io/linuxserver-tvheadend)](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-tvheadend/)
[hub]: https://hub.docker.com/r/linuxserver/tvheadend/
[![](https://images.microbadger.com/badges/version/linuxserver/tvheadend.svg)](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")[![](https://images.microbadger.com/badges/image/linuxserver/tvheadend.svg)](http://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/tvheadend.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/tvheadend.svg)][hub][![Build Status](http://jenkins.linuxserver.io:8080/buildStatus/icon?job=Dockers/LinuxServer.io/linuxserver-tvheadend)](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-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).
[![tvheadend](https://s31.postimg.io/8urk8vdu3/logobig.png)][tvheadendurl]
[tvheadendurl]: https://www.tvheadend.org/
[![tvheadend](https://s31.postimg.io/8urk8vdu3/logobig.png)][appurl]
## Usage
@@ -28,7 +29,9 @@ docker create \
--name=tvheadend \
--net=bridge \
-v <path to data>:/config \
-v <path to recordings>:/recordings \
-e PGID=<gid> -e PUID=<uid> \
-e RUN_OPTS=<parameter> \
-p 9981:9981 \
-p 9982:9982 \
--device=/dev/dvb
@@ -49,12 +52,20 @@ Add one of the tags, if required, to the linuxserver/tvheadend line of the run/c
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.
**Parameters**
## Parameters
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
* `-p 1234` - the port(s)
* `-v /config` - explain what lives here
* `-v /config` - Where TVHeadend show store it's config files
* `-v /recordings` - Where you want the PVR to store recordings
* `-e PGID` for GroupID - see below for explanation
* `-e PUID` for UserID - see below for explanation
* `-e RUN_OPTS` additional runtime parameters - see below for explanation
* `--device=/dev/dvb` - for passing through DVB-cards
* `--net=host` - for IPTV, SAT>IP and HDHomeRun
* `-e TZ` - for timezone information *eg Europe/London, etc*
@@ -72,6 +83,11 @@ In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as bel
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
```
## Additional runtime parameters
In some cases it might be necessary to start tvheadend with additional parameters, for example to enable debugging or specify webroot for reverse proxy. Be sure to have the right parameters set, as adding the wrong once might lead to the container not starting correctly.
## Setting up the application
The setup depends if you run the one of the stable tags or use latest. Running latest is the easiest as it has a setup wizard.
@@ -121,7 +137,12 @@ 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**
We have added all the picons from [picons.xyz](https://picons.xyz/) in the folder /picons. To enable the use of these picons, add the path to the Channel icon path in Configuration --> General --> Base.
You need to enable minimum advanced view level to see the picons options.
## Info
@@ -130,6 +151,12 @@ For advanced setup of tvheadend, go to [Tvheadend][tvheadendurl]
## Versions
+ **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.
+ **14.11.2016:** Add picons from picons.xyz to /picons folder and add info to README.
+ **22.09.2016:** Fix broken tv_grab_wg, libs for xmltv and update README.
+ **18.09.2016:** Update XMLTV to 0.5.68 and update README.
+ **10.09.2016:** Add layer badges to README.

22
patches/cpanfile Normal file
View 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' ;

View File

@@ -1,11 +0,0 @@
--- CharName.pm 2005-10-25 20:11:00.000000000 +0200
+++ CharName.pm.mod 2016-08-12 23:25:51.752348000 +0200
@@ -77,7 +77,7 @@
return join("", "HANGUL SYLLABLE ", @s)
}
}
- _init_names() unless defined %NAMES;
+ _init_names() unless %NAMES;
$NAMES{sprintf("%04X",$code)}
}

View File

@@ -12,4 +12,5 @@ mkdir -p \
# permissions
chown -R abc:abc \
/config
/config \
/picons

View File

@@ -1,3 +1,6 @@
#!/usr/bin/with-contenv bash
RUN_ARRAY=(${RUN_OPTS})
exec \
s6-setuidgid abc /usr/bin/tvheadend -C -c /config
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"