Add aarch64 support and Channels DVR support (#49)
* add gitattributes for windows dev * initial copy of dockerfile * Add support for pi4 (aarch64); add support for Channels DVR updates * fix IP in example Co-authored-by: Nick Marnik <nkmhockey@gmail.com>
This commit is contained in:
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* text=auto eol=lf
|
||||||
95
Dockerfile-aarch64
Normal file
95
Dockerfile-aarch64
Normal file
@@ -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" ]
|
||||||
@@ -99,4 +99,21 @@ if [ "$use_plexAPI" = "yes" ]; then
|
|||||||
fi
|
fi
|
||||||
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
|
exit
|
||||||
|
|||||||
12
sample.env
12
sample.env
@@ -44,3 +44,15 @@ embyID=
|
|||||||
# plexUpdateURL.
|
# plexUpdateURL.
|
||||||
use_plexAPI=no
|
use_plexAPI=no
|
||||||
plexUpdateURL=
|
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/<source name>/refresh
|
||||||
|
# channelsUpdateXmltvURL -> http://192.168.1.1:8089/dvr/lineups/XMLTV-<source name>
|
||||||
|
use_channelsAPI=no
|
||||||
|
channelsUpdateM3uURL=
|
||||||
|
channelsUpdateXmltvURL=
|
||||||
Reference in New Issue
Block a user