diff --git a/Dockerfile b/Dockerfile index 65d104d..189fc90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,7 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN wget https://github.com/xteve-project/xTeVe-Downloads/raw/master/xteve_linux_amd64.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.8/lazystream-v1.11.8-x86_64-unknown-linux-musl.tar.gz -O lazystream.tar.gz; \ +RUN wget https://github.com/tarkah/lazystream/releases/download/v1.12.0/lazystream-v1.12.0-x86_64-unknown-linux-musl.tar.gz -O lazystream.tar.gz; \ tar xzf lazystream.tar.gz; \ mv ././lazystream /usr/bin/lazystream; \ rm lazystream.tar.gz; \ @@ -78,7 +78,8 @@ ENV PUID=1000 \ embyApiKey= \ embyID= \ use_plexAPI=no \ - trim_xmltv=yes + trim_xmltv=no \ + hostOverride= # Expose Port EXPOSE ${XTEVE_PORT} diff --git a/README.md b/README.md index 0eca016..5fc26c9 100644 --- a/README.md +++ b/README.md @@ -42,10 +42,6 @@ or see [docker-compose.yml](docker-compose.yml) for an example docker-compose se Defaults & behavior can be changed through environment variables. `sample.env` should be renamed to `.env` and supplied through the `--env-file` docker run option. The `.env` file can also be picked up if using this in a `docker compose` setup. -### IMPORTANT - -You _MUST_ set the environment variable `lazyStreamHost` otherwise LazyStream will _not_ work. - ## Cron schedule By default, the cron job is scheduled to run every hour. A custom cron schedule can be specified by renaming the `sample_cron.txt` file in the `/config` volume to `cron.txt` and editing the schedule. Make sure to restart your container to take effect. diff --git a/root/cronjob.sh b/root/cronjob.sh index 947ae39..150277c 100755 --- a/root/cronjob.sh +++ b/root/cronjob.sh @@ -19,6 +19,7 @@ if [ "$use_lazystream" = "yes" ]; then if [ "$trim_xmltv" = "yes" ]; then args+=("--trim"); fi if [ ! -z ${quality} ]; then args+=("--quality" "$quality"); fi if [ "$cdn" = "l3c" ]; then args+=("--cdn" "l3c"); fi + if [ ! -z "$hostOverride" ]; then args+=("--host" "$hostOverride"); fi if [ "$include_nhl" = "yes" ]; then echo "Running Lazystream (NHL $quality via $cdn)..." @@ -38,7 +39,9 @@ if [ "$use_lazystream" = "yes" ]; then if [ "$nhl_exclude_french" = "yes" ]; then nhl_args+=("--exclude-feeds" "FRENCH"); fi if [ "$nhl_exclude_composite" = "yes" ]; then nhl_args+=("--exclude-feeds" "COMPOSITE"); fi + set -x lazystream generate xmltv "${args[@]}" "${nhl_args[@]}" + set +x fi if [ "$include_mlb" = "yes" ]; then echo "Running Lazystream (MLB $quality via $cdn)..." @@ -59,7 +62,9 @@ if [ "$use_lazystream" = "yes" ]; then if [ "$mlb_exclude_national" = "yes" ]; then mlb_args+=("--exclude-feeds" "NATIONAL"); fi if [ "$mlb_exclude_composite" = "yes" ]; then mlb_args+=("--exclude-feeds" "COMPOSITE"); fi + set -x lazystream generate xmltv "${args[@]}" "${mlb_args[@]}" + set +x fi fi diff --git a/root/etc/cont-init.d/50-update-hosts b/root/etc/cont-init.d/50-update-hosts index 8615ae4..335d083 100644 --- a/root/etc/cont-init.d/50-update-hosts +++ b/root/etc/cont-init.d/50-update-hosts @@ -10,7 +10,10 @@ exec 1> >(prepend "[update-hosts] ") # Update hosts file -export IP=$(getent ahostsv4 "$lazyStreamHost" | awk '{ print $1 }' | head -1) +if [ ! -z "$hostOverride" ]; then lazystream_host="$hostOverride"; else lazystream_host=$(lazystream host); fi +echo "Using host ${lazystream_host}" + +export IP=$(getent ahostsv4 $(echo $lazystream_host | sed -e 's/https*:\/\///g') | awk '{ print $1 }' | head -1) echo $IP playback.svcs.mlb.com >> /etc/hosts echo $IP mf.svc.nhl.com >> /etc/hosts diff --git a/sample.env b/sample.env index f0e78e0..83b04fb 100644 --- a/sample.env +++ b/sample.env @@ -9,10 +9,10 @@ XTEVE_PORT=34400 use_xTeveAPI=yes ### Lazystream Config -# If trim_xmltv is set to no, both NHL and MLB will output 100 placeholder channels each. -# Any unused channels will still display in your guide. Disable this feature if you have -# any trouble with Plex/Emby/etc. guide data. -trim_xmltv=yes +# If trim_xmltv is set to yes, both NHL and MLB wont output 100 placeholder channels and +# will instead only output the same number of channels as there are streams. +# Enabling this feature may cause issues with xTeVe guide data. +trim_xmltv=no use_lazystream=yes include_nhl=yes #nhl_exclude_home=yes @@ -27,6 +27,8 @@ include_mlb=yes #mlb_exclude_composite=yes cdn=akc #quality=720p60 +# This will override the default host used by lazystream. Use in case host changes. +#hostOverride=http://yourhost.here ### Guide2go Config use_guide2go=no diff --git a/xteve_lazystream.xml b/xteve_lazystream.xml index a3ecabf..36be2a1 100644 --- a/xteve_lazystream.xml +++ b/xteve_lazystream.xml @@ -172,7 +172,7 @@ /mnt/user/appdata/xteve/playlists/ yes yes - + yes yes yes