forked from Ivasoft/docker-tvheadend
Compare commits
18 Commits
388f5e1e-p
...
b553eeaa-p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2c696d51b0 | ||
|
|
780b22728e | ||
|
|
9417e1f9c4 | ||
|
|
5fb3338564 | ||
|
|
89322d5956 | ||
|
|
267e3ef786 | ||
|
|
5de6faf27f | ||
|
|
dab37e4ecd | ||
|
|
6ab17ce8b7 | ||
|
|
81c71ee54d | ||
|
|
a5fe08ef84 | ||
|
|
65b2f3c3c7 | ||
|
|
7d94cc4b64 | ||
|
|
e834619ec3 | ||
|
|
ab115449e7 | ||
|
|
322e35bb00 | ||
|
|
6dfbb30c0a | ||
|
|
94b0bc34c7 |
37
Dockerfile
37
Dockerfile
@@ -4,7 +4,7 @@ FROM lsiobase/alpine:3.8 as buildstage
|
||||
# package versions
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG TVH_VER="release/4.2"
|
||||
ARG XMLTV_VER="0.5.69"
|
||||
ARG XMLTV_VER="v0.5.70"
|
||||
ARG TVHEADEND_COMMIT
|
||||
|
||||
# environment settings
|
||||
@@ -31,6 +31,7 @@ RUN \
|
||||
gettext-dev \
|
||||
git \
|
||||
gzip \
|
||||
jq \
|
||||
libgcrypt-dev \
|
||||
libhdhomerun-dev \
|
||||
libressl-dev \
|
||||
@@ -107,7 +108,7 @@ RUN \
|
||||
x265-dev \
|
||||
zlib-dev && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
gnu-libiconv-dev
|
||||
|
||||
RUN \
|
||||
@@ -122,13 +123,9 @@ RUN \
|
||||
|
||||
RUN \
|
||||
echo "**** compile XMLTV ****" && \
|
||||
curl -o \
|
||||
/tmp/xmtltv-src.tar.bz2 -L \
|
||||
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||
tar xf \
|
||||
/tmp/xmtltv-src.tar.bz2 -C \
|
||||
/tmp --strip-components=1 && \
|
||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||
git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \
|
||||
cd /tmp/xmltv && \
|
||||
git checkout ${XMLTV_VER} && \
|
||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||
@@ -156,15 +153,11 @@ RUN \
|
||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
||||
| jq -r '. | .sha'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/tvheadend.tar.gz -L \
|
||||
"https://github.com/tvheadend/tvheadend/archive/${TVHEADEND_COMMIT}.tar.gz" && \
|
||||
mkdir -p \
|
||||
/tmp/tvheadend && \
|
||||
tar xf \
|
||||
/tmp/tvheadend.tar.gz -C \
|
||||
/tmp/tvheadend/ --strip-components=1 && \
|
||||
/tmp/tvheadend && \
|
||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||
cd /tmp/tvheadend && \
|
||||
git checkout ${TVHEADEND_COMMIT} && \
|
||||
./configure \
|
||||
--disable-avahi \
|
||||
--disable-bintray_cache \
|
||||
@@ -313,13 +306,19 @@ RUN \
|
||||
x265 \
|
||||
zlib && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
gnu-libiconv && \
|
||||
echo "**** Add Picons ****" && \
|
||||
mkdir -p /picons && \
|
||||
curl -o \
|
||||
/picons/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2
|
||||
/tmp/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2 && \
|
||||
tar xf \
|
||||
/tmp/picons.tar.bz2 -C \
|
||||
/picons && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# copy local files and buildstage artifacts
|
||||
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||
|
||||
@@ -4,7 +4,7 @@ FROM lsiobase/alpine.arm64:3.8 as buildstage
|
||||
# package versions
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG TVH_VER="release/4.2"
|
||||
ARG XMLTV_VER="0.5.69"
|
||||
ARG XMLTV_VER="v0.5.70"
|
||||
ARG TVHEADEND_COMMIT
|
||||
|
||||
# environment settings
|
||||
@@ -31,6 +31,7 @@ RUN \
|
||||
gettext-dev \
|
||||
git \
|
||||
gzip \
|
||||
jq \
|
||||
libgcrypt-dev \
|
||||
libhdhomerun-dev \
|
||||
libressl-dev \
|
||||
@@ -107,7 +108,7 @@ RUN \
|
||||
x265-dev \
|
||||
zlib-dev && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
gnu-libiconv-dev
|
||||
|
||||
RUN \
|
||||
@@ -122,13 +123,9 @@ RUN \
|
||||
|
||||
RUN \
|
||||
echo "**** compile XMLTV ****" && \
|
||||
curl -o \
|
||||
/tmp/xmtltv-src.tar.bz2 -L \
|
||||
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||
tar xf \
|
||||
/tmp/xmtltv-src.tar.bz2 -C \
|
||||
/tmp --strip-components=1 && \
|
||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||
git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \
|
||||
cd /tmp/xmltv && \
|
||||
git checkout ${XMLTV_VER} && \
|
||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||
@@ -156,15 +153,11 @@ RUN \
|
||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
||||
| jq -r '. | .sha'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/tvheadend.tar.gz -L \
|
||||
"https://github.com/tvheadend/tvheadend/archive/${TVHEADEND_COMMIT}.tar.gz" && \
|
||||
mkdir -p \
|
||||
/tmp/tvheadend && \
|
||||
tar xf \
|
||||
/tmp/tvheadend.tar.gz -C \
|
||||
/tmp/tvheadend/ --strip-components=1 && \
|
||||
/tmp/tvheadend && \
|
||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||
cd /tmp/tvheadend && \
|
||||
git checkout ${TVHEADEND_COMMIT} && \
|
||||
./configure \
|
||||
--disable-avahi \
|
||||
--disable-bintray_cache \
|
||||
@@ -316,13 +309,19 @@ RUN \
|
||||
x265 \
|
||||
zlib && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
gnu-libiconv && \
|
||||
echo "**** Add Picons ****" && \
|
||||
mkdir -p /picons && \
|
||||
curl -o \
|
||||
/picons/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2
|
||||
/tmp/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2 && \
|
||||
tar xf \
|
||||
/tmp/picons.tar.bz2 -C \
|
||||
/picons && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# copy local files and buildstage artifacts
|
||||
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||
|
||||
@@ -4,7 +4,7 @@ FROM lsiobase/alpine.armhf:3.8 as buildstage
|
||||
# package versions
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG TVH_VER="release/4.2"
|
||||
ARG XMLTV_VER="0.5.69"
|
||||
ARG XMLTV_VER="v0.5.70"
|
||||
ARG TVHEADEND_COMMIT
|
||||
|
||||
# environment settings
|
||||
@@ -31,6 +31,7 @@ RUN \
|
||||
gettext-dev \
|
||||
git \
|
||||
gzip \
|
||||
jq \
|
||||
libgcrypt-dev \
|
||||
libhdhomerun-dev \
|
||||
libressl-dev \
|
||||
@@ -107,7 +108,7 @@ RUN \
|
||||
x265-dev \
|
||||
zlib-dev && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
gnu-libiconv-dev
|
||||
|
||||
RUN \
|
||||
@@ -122,13 +123,9 @@ RUN \
|
||||
|
||||
RUN \
|
||||
echo "**** compile XMLTV ****" && \
|
||||
curl -o \
|
||||
/tmp/xmtltv-src.tar.bz2 -L \
|
||||
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||
tar xf \
|
||||
/tmp/xmtltv-src.tar.bz2 -C \
|
||||
/tmp --strip-components=1 && \
|
||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||
git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \
|
||||
cd /tmp/xmltv && \
|
||||
git checkout ${XMLTV_VER} && \
|
||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||
@@ -156,15 +153,11 @@ RUN \
|
||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
||||
| jq -r '. | .sha'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/tvheadend.tar.gz -L \
|
||||
"https://github.com/tvheadend/tvheadend/archive/${TVHEADEND_COMMIT}.tar.gz" && \
|
||||
mkdir -p \
|
||||
/tmp/tvheadend && \
|
||||
tar xf \
|
||||
/tmp/tvheadend.tar.gz -C \
|
||||
/tmp/tvheadend/ --strip-components=1 && \
|
||||
/tmp/tvheadend && \
|
||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||
cd /tmp/tvheadend && \
|
||||
git checkout ${TVHEADEND_COMMIT} && \
|
||||
./configure \
|
||||
--disable-avahi \
|
||||
--disable-bintray_cache \
|
||||
@@ -316,13 +309,19 @@ RUN \
|
||||
x265 \
|
||||
zlib && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
gnu-libiconv && \
|
||||
echo "**** Add Picons ****" && \
|
||||
mkdir -p /picons && \
|
||||
curl -o \
|
||||
/picons/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2
|
||||
/tmp/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2 && \
|
||||
tar xf \
|
||||
/tmp/picons.tar.bz2 -C \
|
||||
/picons && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# copy local files and buildstage artifacts
|
||||
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||
|
||||
35
Jenkinsfile
vendored
35
Jenkinsfile
vendored
@@ -41,7 +41,7 @@ pipeline {
|
||||
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases | jq -r 'first(.[] | select(.prerelease == true)) | .tag_name' ''',
|
||||
returnStdout: true).trim()
|
||||
env.LS_RELEASE_NOTES = sh(
|
||||
script: '''git log -1 --pretty=%B | 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' ''',
|
||||
returnStdout: true).trim()
|
||||
env.GITHUB_DATE = sh(
|
||||
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
|
||||
@@ -292,6 +292,9 @@ pipeline {
|
||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||
sh "docker push lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||
sh '''docker rmi \
|
||||
${IMAGE}:arm32v6-${META_TAG} \
|
||||
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -318,6 +321,9 @@ pipeline {
|
||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||
sh '''docker rmi \
|
||||
${IMAGE}:arm64v8-${META_TAG} \
|
||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -347,7 +353,7 @@ pipeline {
|
||||
chmod 777 /tmp/package_versions.txt'
|
||||
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||
apt list -qq --installed > /tmp/package_versions.txt && \
|
||||
apt list -qq --installed | cut -d" " -f1-2 > /tmp/package_versions.txt && \
|
||||
chmod 777 /tmp/package_versions.txt'
|
||||
fi
|
||||
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
||||
@@ -479,6 +485,10 @@ pipeline {
|
||||
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:release-4.2"
|
||||
sh "docker push ${IMAGE}:release-4.2"
|
||||
sh "docker push ${IMAGE}:${META_TAG}"
|
||||
sh '''docker rmi \
|
||||
${IMAGE}:${META_TAG} \
|
||||
${IMAGE}:release-4.2 '''
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -526,6 +536,15 @@ pipeline {
|
||||
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}:${META_TAG}"
|
||||
sh '''docker rmi \
|
||||
${IMAGE}:amd64-${META_TAG} \
|
||||
${IMAGE}:amd64-release-4.2 \
|
||||
${IMAGE}:arm32v6-${META_TAG} \
|
||||
${IMAGE}:arm32v6-release-4.2 \
|
||||
${IMAGE}:arm64v8-${META_TAG} \
|
||||
${IMAGE}:arm64v8-release-4.2 \
|
||||
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -586,6 +605,18 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a Pull request send the CI link as a comment on it
|
||||
stage('Pull Request Comment') {
|
||||
when {
|
||||
not {environment name: 'CHANGE_ID', value: ''}
|
||||
environment name: 'CI', value: 'true'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps {
|
||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
|
||||
-d '{"body": "I am a bot, here are the test results for this PR '${CI_URL}'"}' '''
|
||||
}
|
||||
}
|
||||
}
|
||||
/* ######################
|
||||
Send status to Discord
|
||||
|
||||
268
README.md
268
README.md
@@ -1,95 +1,149 @@
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[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/
|
||||
[](https://linuxserver.io)
|
||||
|
||||
[][linuxserverurl]
|
||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
|
||||
|
||||
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]
|
||||
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||
* regular and timely application updates
|
||||
* easy user mappings (PGID, PUID)
|
||||
* custom base image with s6 overlay
|
||||
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
|
||||
* regular security updates
|
||||
|
||||
# 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/)
|
||||
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!
|
||||
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
||||
|
||||
[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.
|
||||
# [linuxserver/tvheadend](https://github.com/linuxserver/docker-tvheadend)
|
||||
[](https://discord.gg/YWrKVTn)
|
||||
[](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://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/)
|
||||
[](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 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).
|
||||
|
||||
[][appurl]
|
||||
|
||||
[](https://www.tvheadend.org/)
|
||||
|
||||
## 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/).
|
||||
|
||||
Simply pulling `linuxserver/tvheadend` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
|
||||
The architectures supported by this image are:
|
||||
|
||||
| Architecture | Tag |
|
||||
| :----: | --- |
|
||||
| x86-64 | amd64-latest |
|
||||
| arm64 | arm64v8-latest |
|
||||
| armhf | arm32v6-latest |
|
||||
|
||||
## Version Tags
|
||||
|
||||
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
|
||||
|
||||
| Tag | Description |
|
||||
| :----: | --- |
|
||||
| latest | Current latest release. |
|
||||
| release-4.2 | Latest release from 4.2 branch. |
|
||||
| stable-4.2.1 | Old stable version. Will not be updated anymore! |
|
||||
| stable-4.0.9 | Old stable version. Will not be updated anymore! |
|
||||
|
||||
## Usage
|
||||
|
||||
Here are some example snippets to help you get started creating a container.
|
||||
|
||||
### docker
|
||||
|
||||
```
|
||||
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> \
|
||||
-e PUID=1000 \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Europe/London \
|
||||
-e RUN_OPTS=<run options here> `#optional` \
|
||||
-p 9981:9981 \
|
||||
-p 9982:9982 \
|
||||
--device=/dev/dvb
|
||||
-v <path to data>:/config \
|
||||
-v <path to recordings>:/recordings \
|
||||
--device /dev/dri:/dev/dri `#optional` \
|
||||
--device /dev/drb:/dev/dvb `#optional` \
|
||||
--restart unless-stopped \
|
||||
linuxserver/tvheadend
|
||||
```
|
||||
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 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:release-4.2
|
||||
|
||||
#### Tags
|
||||
|
||||
+ **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
|
||||
|
||||
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.
|
||||
|
||||
|
||||
### docker-compose
|
||||
|
||||
Compatible with docker-compose v2 schemas.
|
||||
|
||||
```
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
tvheadend:
|
||||
image: linuxserver/tvheadend
|
||||
container_name: tvheadend
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/London
|
||||
- RUN_OPTS=<run options here> #optional
|
||||
volumes:
|
||||
- <path to data>:/config
|
||||
- <path to recordings>:/recordings
|
||||
ports:
|
||||
- 9981:9981
|
||||
- 9982:9982
|
||||
devices:
|
||||
- /dev/dri:/dev/dri #optional
|
||||
- /dev/drb:/dev/dvb #optional
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## 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.`
|
||||
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
|
||||
|
||||
| Parameter | Function |
|
||||
| :----: | --- |
|
||||
| `-p 9981` | WebUI |
|
||||
| `-p 9982` | HTSP server port. |
|
||||
| `-e PUID=1000` | for UserID - see below for explanation |
|
||||
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
|
||||
| `-e RUN_OPTS=<run options here>` | Optionally specify additional arguments to be passed. See Additional runtime parameters. |
|
||||
| `-v /config` | Where TVHeadend show store it's config files. |
|
||||
| `-v /recordings` | Where you want the PVR to store recordings. |
|
||||
| `--device /dev/dri` | Only needed if you want to use your AMD/Intel GPU for hardware accelerated video encoding (vaapi). |
|
||||
| `--device /dev/dvb` | 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. |
|
||||
|
||||
* `-p 1234` - the port(s)
|
||||
* `-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*
|
||||
## User / Group Identifiers
|
||||
|
||||
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it tvheadend /bin/bash`.
|
||||
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
|
||||
|
||||
### User / Group Identifiers
|
||||
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
|
||||
|
||||
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
|
||||
|
||||
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
|
||||
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
|
||||
|
||||
```
|
||||
$ id <dockeruser>
|
||||
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
||||
$ id username
|
||||
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(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
|
||||
|
||||
## Application Setup
|
||||
|
||||
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.
|
||||
|
||||
@@ -143,42 +197,80 @@ 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..
|
||||
You need to enable minimum advanced view level to see the picons options.
|
||||
|
||||
## Info
|
||||
## 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.
|
||||
|
||||
|
||||
|
||||
## Support Info
|
||||
|
||||
* 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`
|
||||
|
||||
* 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`
|
||||
|
||||
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/tvheadend`
|
||||
## 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.
|
||||
|
||||
Below are the instructions for updating containers:
|
||||
|
||||
### Via Docker Run/Create
|
||||
* Update the image: `docker pull linuxserver/tvheadend`
|
||||
* Stop the running container: `docker stop tvheadend`
|
||||
* Delete the container: `docker rm tvheadend`
|
||||
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
|
||||
* Start the new container: `docker start tvheadend`
|
||||
* You can also remove the old dangling images: `docker image prune`
|
||||
|
||||
### Via Taisun auto-updater (especially useful if you don't remember the original parameters)
|
||||
* Pull the latest image at its tag and replace it with the same env variables in one shot:
|
||||
```
|
||||
docker run --rm \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock taisun/updater \
|
||||
--oneshot tvheadend
|
||||
```
|
||||
* You can also remove the old dangling images: `docker image prune`
|
||||
|
||||
### Via Docker Compose
|
||||
* Update all images: `docker-compose pull`
|
||||
* or update a single image: `docker-compose pull tvheadend`
|
||||
* Let compose update all containers as necessary: `docker-compose up -d`
|
||||
* or update a single container: `docker-compose up -d tvheadend`
|
||||
* You can also remove the old dangling images: `docker image prune`
|
||||
|
||||
## Versions
|
||||
|
||||
+ **16.01.19:** Add pipeline and multi arch logic.
|
||||
+ **12.09.18:** Rebase to alpine 3.8 and use buildstage type build.
|
||||
+ **21.04.18:** Add JSON::XS Perl package for grab_tv_huro.
|
||||
+ **04.03.18:** Use sourceforge master rather than mirror for xmltv.
|
||||
+ **22.02.18:** Add missing pngquant package.
|
||||
+ **21.02.18:** Fix wrong version of iconv used and add some build options from CvH.
|
||||
+ **11.12.17:** Rebase to alpine 3.7, linting fixes.
|
||||
+ **13.07.17:** Increase uniformity across all archs.
|
||||
+ **08.07.17:** Update README with full path for comskip.
|
||||
+ **02.07.17:** Move to one branch for all 4.2 releases.
|
||||
+ **27.05.17:** Rebase to alpine 3.6.
|
||||
+ **01.05.17:** Update to tvheadend 4.2.1 stable.
|
||||
+ **18.04.17:** Use repo version of gnu-libiconv rather than compiling.
|
||||
+ **09.04.17:** Chain cpanm installs in one block and use --installdeps.
|
||||
+ **09.02.17:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||
+ **07.02.17:** Add variable to add additional runtime paramters.
|
||||
+ **05.02.17:** Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
||||
+ **14.11.16:** Add picons from picons.xyz to /picons folder and add info to README.
|
||||
+ **22.09.16:** Fix broken tv_grab_wg, libs for xmltv and update README.
|
||||
+ **18.09.16:** Update XMLTV to 0.5.68 and update README.
|
||||
+ **10.09.16:** Add layer badges to README.
|
||||
+ **05.09.16:** Initial release
|
||||
* **17.02.19:** - Bump xmltv to 5.70, ensure version tagging works by cloning tvheadend.
|
||||
* **14.02.19:** - Add picons path to config.
|
||||
* **15.01.19:** - Add pipeline logic and multi arch.
|
||||
* **12.09.18:** - Rebase to alpine 3.8 and use buildstage type build.
|
||||
* **21.04.18:** - Add JSON::XS Perl package for grab_tv_huro.
|
||||
* **24.03.18:** - Add dvbcsa package.
|
||||
* **04.03.18:** - Use sourceforge master rather than mirror for xmltv.
|
||||
* **22.02.18:** - Add lost libva-intel-driver.
|
||||
* **21.02.18:** - Fix wrong version of iconv used.
|
||||
* **18.02.18:** - Add vaapi support, some cleanup and dropping of deprecated options.
|
||||
* **04.01.18:** - Deprecate cpu_core routine lack of scaling.
|
||||
* **11.12.17:** - Rebase to alpine 3.7, linting fixes.
|
||||
* **02.09.17:** - Add codec dependencies.
|
||||
* **13.07.17:** - Increase uniformity across all archs.
|
||||
* **08.07.17:** - Update README with full path for comskip.
|
||||
* **02.07.17:** - Move to one branch for all 4.2 releases.
|
||||
* **27.05.17:** - Rebase to alpine 3.6.
|
||||
* **01.05.17:** - Update to tvheadend 4.2.1 stable.
|
||||
* **18.04.17:** - Use repo version of gnu-libiconv rather than compiling.
|
||||
* **09.04.17:** - Chain cpanm installs in one block and use --installdeps.
|
||||
* **09.02.17:** - Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||
* **07.02.17:** - Add variable to add additional runtime paramters.
|
||||
* **05.02.17:** - Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
||||
* **14.11.16:** - Add picons from picons.xyz to /picons folder and add info to README.
|
||||
* **22.09.16:** - Fix broken tv_grab_wg, libs for xmltv and update README.
|
||||
* **18.09.16:** - Update XMLTV to 0.5.68 and update README.
|
||||
* **10.09.16:** - Add layer badges to README.
|
||||
* **05.09.16:** - Initial Release.
|
||||
|
||||
@@ -2,9 +2,9 @@ musl musl-1.1.19-r10
|
||||
busybox busybox-1.28.4-r3
|
||||
alpine-baselayout alpine-baselayout-3.1.0-r0
|
||||
alpine-keys alpine-keys-2.1-r1
|
||||
libressl2.7-libcrypto libressl2.7-libcrypto-2.7.4-r0
|
||||
libressl2.7-libssl libressl2.7-libssl-2.7.4-r0
|
||||
libressl2.7-libtls libressl2.7-libtls-2.7.4-r0
|
||||
libressl2.7-libcrypto libressl2.7-libcrypto-2.7.5-r0
|
||||
libressl2.7-libssl libressl2.7-libssl-2.7.5-r0
|
||||
libressl2.7-libtls libressl2.7-libtls-2.7.5-r0
|
||||
ssl_client ssl_client-1.28.4-r3
|
||||
zlib zlib-1.2.11-r1
|
||||
apk-tools apk-tools-2.10.1-r0
|
||||
@@ -29,8 +29,8 @@ bsd-compat-headers bsd-compat-headers-0.7.1-r0
|
||||
bzip2 bzip2-1.0.6-r6
|
||||
nghttp2-libs nghttp2-libs-1.32.0-r0
|
||||
libssh2 libssh2-1.8.0-r3
|
||||
libcurl libcurl-7.61.1-r1
|
||||
curl curl-7.61.1-r1
|
||||
libcurl libcurl-7.61.1-r2
|
||||
curl curl-7.61.1-r2
|
||||
sdl2 sdl2-2.0.8-r1
|
||||
libxau libxau-1.0.8-r2
|
||||
libbsd libbsd-0.8.6-r2
|
||||
@@ -75,10 +75,10 @@ xvidcore xvidcore-1.3.4-r1
|
||||
ffmpeg-libs ffmpeg-libs-3.4.4-r1
|
||||
ffmpeg ffmpeg-3.4.4-r1
|
||||
gzip gzip-1.9-r0
|
||||
libcrypto1.0 libcrypto1.0-1.0.2q-r0
|
||||
libcrypto1.0 libcrypto1.0-1.0.2r-r0
|
||||
libhdhomerun-libs libhdhomerun-libs-20161117-r1
|
||||
libressl libressl-2.7.4-r0
|
||||
libssl1.0 libssl1.0-1.0.2q-r0
|
||||
libressl libressl-2.7.5-r0
|
||||
libssl1.0 libssl1.0-1.0.2r-r0
|
||||
libxml2 libxml2-2.9.8-r1
|
||||
libgpg-error libgpg-error-1.30-r0
|
||||
libgcrypt libgcrypt-1.8.3-r0
|
||||
@@ -207,7 +207,7 @@ perl-xml-writer perl-xml-writer-0.625-r2
|
||||
gdbm gdbm-1.13-r1
|
||||
sqlite-libs sqlite-libs-3.25.3-r0
|
||||
python2 python2-2.7.15-r1
|
||||
tar tar-1.31-r0
|
||||
tar tar-1.32-r0
|
||||
uriparser uriparser-0.8.5-r0
|
||||
wget wget-1.20.1-r0
|
||||
x264 x264-20180304-r1
|
||||
|
||||
212
readme-vars.yml
212
readme-vars.yml
@@ -2,101 +2,69 @@
|
||||
|
||||
# project information
|
||||
project_name: tvheadend
|
||||
full_custom_readme: |
|
||||
{% raw -%}
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[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]
|
||||
|
||||
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]
|
||||
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||
* [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")[](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.
|
||||
project_url: "https://www.tvheadend.org/"
|
||||
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/tvheadend-big.png"
|
||||
project_blurb: |
|
||||
[{{ project_name|capitalize }}]({{ project_url }}) 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 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).
|
||||
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||
project_blurb_optional_extras_enabled: false
|
||||
|
||||
[][appurl]
|
||||
# supported architectures
|
||||
available_architectures:
|
||||
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||
- { arch: "{{ arch_armhf }}", tag: "arm32v6-latest"}
|
||||
|
||||
## Usage
|
||||
# development version
|
||||
# development version
|
||||
development_versions: true
|
||||
development_versions_items:
|
||||
- { tag: "latest", desc: "Current latest release." }
|
||||
- { tag: "release-4.2", desc: "Latest release from 4.2 branch." }
|
||||
- { tag: "stable-4.2.1", desc: "Old stable version. Will not be updated anymore!" }
|
||||
- { tag: "stable-4.0.9", desc: "Old stable version. Will not be updated anymore!" }
|
||||
|
||||
```
|
||||
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
|
||||
linuxserver/tvheadend
|
||||
```
|
||||
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.
|
||||
# container parameters
|
||||
common_param_env_vars_enabled: true
|
||||
param_container_name: "{{ project_name }}"
|
||||
param_usage_include_net: false
|
||||
param_usage_include_env: true
|
||||
param_env_vars:
|
||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
||||
param_usage_include_vols: true
|
||||
param_volumes:
|
||||
- { vol_path: "/config", vol_host_path: "<path to data>", desc: "Where TVHeadend show store it's config files." }
|
||||
- { vol_path: "/recordings", vol_host_path: "<path to recordings>", desc: "Where you want the PVR to store recordings." }
|
||||
param_usage_include_ports: true
|
||||
param_ports:
|
||||
- { external_port: "9981", internal_port: "9981", port_desc: "WebUI" }
|
||||
- { external_port: "9982", internal_port: "9982", port_desc: "HTSP server port." }
|
||||
param_device_map: false
|
||||
cap_add_param: false
|
||||
|
||||
# optional container parameters
|
||||
opt_param_usage_include_env: true
|
||||
opt_param_env_vars:
|
||||
- { env_var: "RUN_OPTS", env_value: "<run options here>", desc: "Optionally specify additional arguments to be passed. See Additional runtime parameters." }
|
||||
opt_param_usage_include_vols: false
|
||||
opt_param_usage_include_ports: false
|
||||
opt_param_device_map: true
|
||||
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/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." }
|
||||
opt_cap_add_param: false
|
||||
optional_block_1: true
|
||||
optional_block_1_items:
|
||||
- |
|
||||
#### Host vs. Bridge
|
||||
|
||||
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:release-4.2
|
||||
|
||||
#### Tags
|
||||
|
||||
+ **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
|
||||
|
||||
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
|
||||
|
||||
`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` - 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`.
|
||||
|
||||
### User / Group Identifiers
|
||||
|
||||
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
|
||||
|
||||
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
|
||||
|
||||
```
|
||||
$ id <dockeruser>
|
||||
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
|
||||
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.
|
||||
|
||||
# application setup block
|
||||
app_setup_block_enabled: true
|
||||
app_setup_block: |
|
||||
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.
|
||||
|
||||
**Stable**
|
||||
@@ -149,43 +117,39 @@ full_custom_readme: |
|
||||
**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..
|
||||
You need to enable minimum advanced view level to see the picons options.
|
||||
|
||||
## Info
|
||||
## Additional runtime parameters
|
||||
|
||||
* 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`
|
||||
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.
|
||||
|
||||
* 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
|
||||
|
||||
+ **16.01.19:** Add pipeline and multi arch logic.
|
||||
+ **12.09.18:** Rebase to alpine 3.8 and use buildstage type build.
|
||||
+ **21.04.18:** Add JSON::XS Perl package for grab_tv_huro.
|
||||
+ **04.03.18:** Use sourceforge master rather than mirror for xmltv.
|
||||
+ **22.02.18:** Add missing pngquant package.
|
||||
+ **21.02.18:** Fix wrong version of iconv used and add some build options from CvH.
|
||||
+ **11.12.17:** Rebase to alpine 3.7, linting fixes.
|
||||
+ **13.07.17:** Increase uniformity across all archs.
|
||||
+ **08.07.17:** Update README with full path for comskip.
|
||||
+ **02.07.17:** Move to one branch for all 4.2 releases.
|
||||
+ **27.05.17:** Rebase to alpine 3.6.
|
||||
+ **01.05.17:** Update to tvheadend 4.2.1 stable.
|
||||
+ **18.04.17:** Use repo version of gnu-libiconv rather than compiling.
|
||||
+ **09.04.17:** Chain cpanm installs in one block and use --installdeps.
|
||||
+ **09.02.17:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||
+ **07.02.17:** Add variable to add additional runtime paramters.
|
||||
+ **05.02.17:** Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
||||
+ **14.11.16:** Add picons from picons.xyz to /picons folder and add info to README.
|
||||
+ **22.09.16:** Fix broken tv_grab_wg, libs for xmltv and update README.
|
||||
+ **18.09.16:** Update XMLTV to 0.5.68 and update README.
|
||||
+ **10.09.16:** Add layer badges to README.
|
||||
+ **05.09.16:** Initial release
|
||||
{%- endraw %}
|
||||
# changelog
|
||||
changelogs:
|
||||
- { 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: "15.01.19:", desc: "Add pipeline logic and multi arch." }
|
||||
- { date: "12.09.18:", desc: "Rebase to alpine 3.8 and use buildstage type build." }
|
||||
- { date: "21.04.18:", desc: "Add JSON::XS Perl package for grab_tv_huro." }
|
||||
- { date: "24.03.18:", desc: "Add dvbcsa package." }
|
||||
- { date: "04.03.18:", desc: "Use sourceforge master rather than mirror for xmltv." }
|
||||
- { date: "22.02.18:", desc: "Add lost libva-intel-driver." }
|
||||
- { date: "21.02.18:", desc: "Fix wrong version of iconv used." }
|
||||
- { date: "18.02.18:", desc: "Add vaapi support, some cleanup and dropping of deprecated options." }
|
||||
- { date: "04.01.18:", desc: "Deprecate cpu_core routine lack of scaling." }
|
||||
- { date: "11.12.17:", desc: "Rebase to alpine 3.7, linting fixes." }
|
||||
- { date: "02.09.17:", desc: "Add codec dependencies." }
|
||||
- { date: "13.07.17:", desc: "Increase uniformity across all archs." }
|
||||
- { date: "08.07.17:", desc: "Update README with full path for comskip." }
|
||||
- { date: "02.07.17:", desc: "Move to one branch for all 4.2 releases." }
|
||||
- { date: "27.05.17:", desc: "Rebase to alpine 3.6." }
|
||||
- { date: "01.05.17:", desc: "Update to tvheadend 4.2.1 stable." }
|
||||
- { date: "18.04.17:", desc: "Use repo version of gnu-libiconv rather than compiling." }
|
||||
- { date: "09.04.17:", desc: "Chain cpanm installs in one block and use --installdeps." }
|
||||
- { date: "09.02.17:", desc: "Perl changes, add picons file to gitignore and update XMLTV to 0.5.69." }
|
||||
- { date: "07.02.17:", desc: "Add variable to add additional runtime paramters." }
|
||||
- { date: "05.02.17:", desc: "Update to alpine 3.5 and change dvb-apps to only compile needed libs." }
|
||||
- { date: "14.11.16:", desc: "Add picons from picons.xyz to /picons folder and add info to README." }
|
||||
- { date: "22.09.16:", desc: "Fix broken tv_grab_wg, libs for xmltv and update README." }
|
||||
- { date: "18.09.16:", desc: "Update XMLTV to 0.5.68 and update README." }
|
||||
- { date: "10.09.16:", desc: "Add layer badges to README." }
|
||||
- { date: "05.09.16:", desc: "Initial Release." }
|
||||
|
||||
7
root/defaults/config
Normal file
7
root/defaults/config
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"prefer_picon": true,
|
||||
"chiconpath": "file:///picons/%C.png",
|
||||
"piconpath": "file:///picons/",
|
||||
"piconscheme": 0,
|
||||
"chiconscheme": 2
|
||||
}
|
||||
@@ -9,6 +9,9 @@ mkdir -p \
|
||||
(mkdir -p /config/dvr/config && cp /defaults/7a5edfbe189851e5b1d1df19c93962f0 /config/dvr/config/7a5edfbe189851e5b1d1df19c93962f0)
|
||||
[[ ! -e /config/comskip/comskip.ini ]] && \
|
||||
cp /defaults/comskip.ini.org /config/comskip/comskip.ini
|
||||
[[ ! -e /config/config ]] && \
|
||||
(cp /defaults/config /config/config)
|
||||
|
||||
|
||||
# permissions
|
||||
chown -R abc:abc \
|
||||
|
||||
Reference in New Issue
Block a user