diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..94f480d --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf \ No newline at end of file diff --git a/Dockerfile-aarch64 b/Dockerfile-aarch64 new file mode 100644 index 0000000..78fce68 --- /dev/null +++ b/Dockerfile-aarch64 @@ -0,0 +1,95 @@ +FROM arm64v8/alpine:latest + +LABEL maintainer="taylorbourne taylorbourne@me.com.com" + +# Install S6 overlay +ARG S6_OVERLAY_RELEASE=https://github.com/just-containers/s6-overlay/releases/latest/download/s6-overlay-aarch64.tar.gz +ENV S6_OVERLAY_RELEASE=${S6_OVERLAY_RELEASE} + +ADD ${S6_OVERLAY_RELEASE} /tmp/s6overlay.tar.gz + +RUN tar xzf /tmp/s6overlay.tar.gz -C / \ + && rm /tmp/s6overlay.tar.gz + +# Add packages +RUN apk upgrade --update --no-cache \ + && apk add --no-cache \ + ca-certificates \ + curl \ + tzdata \ + bash \ + coreutils \ + shadow \ + ffmpeg \ + vlc \ + gnutls-utils + +# pi4 library to run lazystream: https://github.com/ljfranklin/alpine-pkg-glibc/releases/tag/2.32-r0-arm64 +RUN wget https://github.com/ljfranklin/alpine-pkg-glibc/releases/download/2.32-r0-arm64/glibc-2.32-r0.apk +RUN apk add --allow-untrusted glibc-2.32-r0.apk + +RUN wget https://github.com/ljfranklin/alpine-pkg-glibc/releases/download/2.32-r0-arm64/glibc-bin-2.32-r0.apk +RUN apk add --allow-untrusted glibc-bin-2.32-r0.apk + +RUN wget https://github.com/ljfranklin/alpine-pkg-glibc/releases/download/2.32-r0-arm64/glibc-i18n-2.32-r0.apk +RUN apk add --allow-untrusted glibc-i18n-2.32-r0.apk + +# Update Timezone +ENV TZ=America/Los_Angeles +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# Add xTeve and guide2go +RUN wget https://github.com/xteve-project/xTeVe-Downloads/raw/master/xteve_linux_arm64.zip -O temp.zip; unzip temp.zip -d /usr/bin/; rm temp.zip + +# Add lazystream +RUN wget https://github.com/tarkah/lazystream/releases/download/v1.11.4/lazystream-v1.11.4-aarch64-unknown-linux-gnu.tar.gz -O lazystream.tar.gz; \ + tar xzf lazystream.tar.gz; \ + mv ././lazystream /usr/bin/lazystream; \ + rm lazystream.tar.gz; \ + rm -rf lazystream/ + +# Add abc user +RUN groupmod -g 1000 users && \ + useradd -u 911 -U -d /home/abc -s /bin/bash abc && \ + usermod -G users abc + +# Copy root folder +COPY root/ / + +# Volumes +VOLUME /config +VOLUME /playlists +VOLUME /guide2go +VOLUME /xteve +VOLUME /tmp/xteve + +# Set executable permissions +RUN chmod +x /usr/bin/lazystream +RUN chmod +x /usr/bin/xteve +RUN chmod +x /usr/bin/guide2go + +# Build arg +ARG XTEVE_PORT=34400 + +# Env +ENV PUID=1000 \ + PGID=1000 \ + XTEVE_PORT=${XTEVE_PORT} \ + use_xTeveAPI=yes \ + use_lazystream=yes \ + include_nhl=yes\ + include_mlb=yes \ + cdn=akc \ + use_guide2go=no \ + YamlList="CBLguide.yaml SATguide.yaml SATSport.yaml" \ + use_embyAPI=no \ + embyIP= \ + embyPORT=8096 \ + embyApiKey= \ + embyID= \ + use_plexAPI=no + +# Expose Port +EXPOSE ${XTEVE_PORT} + +ENTRYPOINT [ "/init" ] diff --git a/root/cronjob.sh b/root/cronjob.sh index 4a5eee3..68f0c62 100755 --- a/root/cronjob.sh +++ b/root/cronjob.sh @@ -99,4 +99,21 @@ if [ "$use_plexAPI" = "yes" ]; then fi fi +# update Channels via API +if [ "$use_channelsAPI" = "yes" ]; then + echo "Updating Channels..." + if [ -z "$channelsUpdateM3uURL" ]; then + echo "no Channels M3U URL provided" + else + curl -s -X POST "$channelsUpdateM3uURL" + sleep 1 + fi + if [ -z "$channelsUpdateXmltvURL" ]; then + echo "no Channels XMLTV URL provided" + else + curl -s -X PUT "$channelsUpdateXmltvURL" + sleep 1 + fi +fi + exit diff --git a/sample.env b/sample.env index 3af7648..e0f7585 100644 --- a/sample.env +++ b/sample.env @@ -44,3 +44,15 @@ embyID= # plexUpdateURL. use_plexAPI=no plexUpdateURL= + +### Channels DVR +# Only necessary if xTeVe API is active +# To find your Channels Update URL navigate to your Channels server in chrome (eg, http://192.168.1.1:8089), +# and open chrome developer tools (press F12). Once developer tools is open find and click the "Refresh +# M3U" and "Refresh XMLTV" links in Channels and then look at the developer tools window. Right click the line and +# go to copy -> Copy link address. URL examples: +# channelsUpdateM3uURL -> http://192.168.1.1:8089/providers/m3u/sources//refresh +# channelsUpdateXmltvURL -> http://192.168.1.1:8089/dvr/lineups/XMLTV- +use_channelsAPI=no +channelsUpdateM3uURL= +channelsUpdateXmltvURL= \ No newline at end of file