Compare commits

...

26 Commits
19 ... 59

Author SHA1 Message Date
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
j0nnymoe
09f478d615 Merge pull request #31 from tobbenb/libsmaster
Add missing libs for xmltv
2016-09-22 16:37:24 +01:00
tobbenb
d5b2cbaeb4 Add missing libs for xmltv 2016-09-22 16:48:01 +02:00
j0nnymoe
59a8633e2a Merge pull request #30 from tobbenb/wgfixmaster
Fix broken tv_grab_wg and update README
2016-09-22 15:25:25 +01:00
tobbenb
8c239ea3e4 Update README 2016-09-22 14:50:54 +02:00
tobbenb
f768afd1c3 Fix tv_grab_wg not working 2016-09-22 14:45:22 +02:00
sparklyballs
12c36b7feb Merge pull request #28 from tobbenb/xmltvmaster
Update XMLTV to 0.5.68 and update README
2016-09-18 22:06:38 +01:00
tobbenb
0dcb22b4bc Update XMLTV to 0.5.68 and update README 2016-09-18 21:43:26 +02:00
7 changed files with 80 additions and 19 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 -->

View File

@@ -1,10 +1,15 @@
FROM lsiobase/alpine
FROM lsiobase/alpine:3.5
MAINTAINER saarg
# package version
ARG ARGTABLE_VER="2.13"
ARG UNICODE_VER="2.09"
ARG XMLTV_VER="0.5.67"
ARG XMLTV_VER="0.5.68"
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Build-date:- ${BUILD_DATE}"
# Environment settings
ENV HOME="/config"
@@ -27,8 +32,10 @@ RUN \
gettext-dev \
git \
libhdhomerun-dev \
libgcrypt-dev \
libtool \
libxml2-dev \
libxslt-dev \
make \
mercurial \
openssl-dev \
@@ -59,7 +66,10 @@ RUN \
perl-compress-raw-zlib \
perl-date-manip \
perl-datetime \
perl-digest-sha1 \
perl-file-slurp \
perl-file-temp \
perl-getopt-long \
perl-html-parser \
perl-html-tree \
perl-http-cookies \
@@ -77,6 +87,7 @@ RUN \
perl-term-readkey \
perl-test-exception \
perl-test-requires \
perl-try-tiny \
perl-xml-parser \
perl-xml-sax \
python \
@@ -90,7 +101,7 @@ RUN \
/tmp/iconv-src && \
curl -o \
/tmp/iconv.tar.gz -L \
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz && \
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 && \
@@ -104,20 +115,32 @@ RUN \
# install perl modules
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 && \
@@ -141,8 +164,8 @@ RUN \
# 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 && \
@@ -208,7 +231,9 @@ RUN \
apk add --no-cache \
ffmpeg \
ffmpeg-libs \
libhdhomerun-libs && \
libhdhomerun-libs \
libxml2 \
libxslt && \
# cleanup
apk del --purge \
@@ -220,6 +245,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,9 @@
[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/
[![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,9 +11,10 @@ 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/)
[![](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/)
[hub]: https://hub.docker.com/r/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).
@@ -26,8 +27,11 @@ Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV D
```
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
@@ -48,12 +52,22 @@ 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*
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it tvheadend /bin/bash`.
@@ -69,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.
@@ -114,11 +133,17 @@ FFmpeg is installed in /usr/bin/ in case you need to use it with pipe.
**EPG XML file**
If you have EPG data in XML format from a supplier, you can drop it in the data folder of your your /config volume mapping. Then choose the XML file grabber in Configuration --> Channel/EPG --> EPG Grabber Modules.
If you have EPG data in XML format from a supplier, you can drop it in the data folder of your /config volume mapping. If it doesn't exist, create it. Then choose the XML file grabber in Configuration --> Channel/EPG --> EPG Grabber Modules.
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]
**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
* Shell access whilst the container is running: `docker exec -it tvheadend /bin/bash`
@@ -126,5 +151,10 @@ For advanced setup of tvheadend, go to [Tvheadend][tvheadendurl]
## Versions
+ **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.
+ **05.09.2016:** Initial release.

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[@]}"

View File

@@ -1,12 +1,11 @@
#!/bin/bash
xmltv_file_location=/config/data/*.xml
dflag=
vflag=
cflag=
qflag=
if (( $# < 1 ))
then
cat "$xmltv_file_location"
cat /config/data/*.xml
exit 0
fi