Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 04a80b4138 | |||
| 65d970de45 | |||
| afc785ba22 | |||
| c204f8b737 | |||
| e25a063e5d | |||
| af4d8971df | |||
| 8e156d8b5c | |||
| cb12a29980 | |||
| 6176220846 | |||
| 2a23ac0f40 | |||
| 9847cb9328 | |||
| 219e5675d9 | |||
| dc1ff6e390 | |||
| 4454d54ed0 | |||
| bf6bd43f48 | |||
| ade2f59ae1 | |||
| ea49461d4e | |||
| 375bbff2ec | |||
| 7d1310f9b8 | |||
| 5f0d19622d | |||
| 86e7cc3f82 |
+17
-11
@@ -27,7 +27,7 @@ jobs:
|
|||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
- name: 🚀 Run add-on information action
|
- name: 🚀 Run add-on information action
|
||||||
id: information
|
id: information
|
||||||
uses: frenck/action-addon-information@v1.1
|
uses: frenck/action-addon-information@v1.2
|
||||||
|
|
||||||
lint-addon:
|
lint-addon:
|
||||||
name: Lint Add-on
|
name: Lint Add-on
|
||||||
@@ -38,7 +38,7 @@ jobs:
|
|||||||
- name: ⤵️ Check out code from GitHub
|
- name: ⤵️ Check out code from GitHub
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
- name: 🚀 Run Add-on Lint
|
- name: 🚀 Run Add-on Lint
|
||||||
uses: frenck/action-addon-linter@v2.1
|
uses: frenck/action-addon-linter@v2.2
|
||||||
with:
|
with:
|
||||||
community: true
|
community: true
|
||||||
path: "./${{ needs.information.outputs.target }}"
|
path: "./${{ needs.information.outputs.target }}"
|
||||||
@@ -129,18 +129,16 @@ jobs:
|
|||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
- name: 🏗 Set up build cache
|
- name: 🏗 Set up build cache
|
||||||
id: cache
|
id: cache
|
||||||
uses: actions/cache@v2.1.5
|
uses: actions/cache@v2.1.6
|
||||||
with:
|
with:
|
||||||
path: /tmp/.docker-cache
|
path: /tmp/.docker-cache
|
||||||
key:
|
key: docker-${{ matrix.architecture }}-${{ github.sha }}
|
||||||
docker-${{ github.ref }}-${{ matrix.architecture }}-${{ github.sha
|
|
||||||
}}
|
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
docker-${{ github.ref }}-${{ matrix.architecture }}
|
docker-${{ matrix.architecture }}
|
||||||
- name: 🏗 Set up QEMU
|
- name: 🏗 Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v1.1.0
|
uses: docker/setup-qemu-action@v1.2.0
|
||||||
- name: 🏗 Set up Docker Buildx
|
- name: 🏗 Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v1.3.0
|
uses: docker/setup-buildx-action@v1.5.1
|
||||||
- name: 🏗 Set up CodeNotary
|
- name: 🏗 Set up CodeNotary
|
||||||
run: bash <(curl https://getvcn.codenotary.com -L)
|
run: bash <(curl https://getvcn.codenotary.com -L)
|
||||||
- name: ℹ️ Compose build flags
|
- name: ℹ️ Compose build flags
|
||||||
@@ -178,7 +176,7 @@ jobs:
|
|||||||
--exit-status \
|
--exit-status \
|
||||||
'.verification.status == 0'
|
'.verification.status == 0'
|
||||||
- name: 🚀 Build
|
- name: 🚀 Build
|
||||||
uses: docker/build-push-action@v2.4.0
|
uses: docker/build-push-action@v2.6.1
|
||||||
with:
|
with:
|
||||||
push: false
|
push: false
|
||||||
context: ${{ needs.information.outputs.target }}
|
context: ${{ needs.information.outputs.target }}
|
||||||
@@ -186,7 +184,7 @@ jobs:
|
|||||||
cache-from: |
|
cache-from: |
|
||||||
type=local,src=/tmp/.docker-cache
|
type=local,src=/tmp/.docker-cache
|
||||||
ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge
|
ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge
|
||||||
cache-to: type=local,mode=max,dest=/tmp/.docker-cache
|
cache-to: type=local,mode=max,dest=/tmp/.docker-cache-new
|
||||||
platforms: ${{ steps.flags.outputs.platform }}
|
platforms: ${{ steps.flags.outputs.platform }}
|
||||||
build-args: |
|
build-args: |
|
||||||
BUILD_ARCH=${{ matrix.architecture }}
|
BUILD_ARCH=${{ matrix.architecture }}
|
||||||
@@ -197,3 +195,11 @@ jobs:
|
|||||||
BUILD_REF=${{ github.sha }}
|
BUILD_REF=${{ github.sha }}
|
||||||
BUILD_REPOSITORY=${{ github.repository }}
|
BUILD_REPOSITORY=${{ github.repository }}
|
||||||
BUILD_VERSION=edge
|
BUILD_VERSION=edge
|
||||||
|
# This ugly bit is necessary, or our cache will grow forever...
|
||||||
|
# Well until we hit GitHub's limit of 5GB :)
|
||||||
|
# https://github.com/docker/build-push-action/issues/252
|
||||||
|
# https://github.com/moby/buildkit/issues/1896
|
||||||
|
- name: 🚚 Swap build cache
|
||||||
|
run: |
|
||||||
|
rm -rf /tmp/.docker-cache
|
||||||
|
mv /tmp/.docker-cache-new /tmp/.docker-cache
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ jobs:
|
|||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
- name: 🚀 Run add-on information action
|
- name: 🚀 Run add-on information action
|
||||||
id: information
|
id: information
|
||||||
uses: frenck/action-addon-information@v1.1
|
uses: frenck/action-addon-information@v1.2
|
||||||
- name: ℹ️ Gather version and environment
|
- name: ℹ️ Gather version and environment
|
||||||
id: release
|
id: release
|
||||||
run: |
|
run: |
|
||||||
@@ -72,18 +72,16 @@ jobs:
|
|||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
- name: 🏗 Set up build cache
|
- name: 🏗 Set up build cache
|
||||||
id: cache
|
id: cache
|
||||||
uses: actions/cache@v2.1.5
|
uses: actions/cache@v2.1.6
|
||||||
with:
|
with:
|
||||||
path: /tmp/.docker-cache
|
path: /tmp/.docker-cache
|
||||||
key:
|
key: docker-${{ matrix.architecture }}-${{ github.sha }}
|
||||||
docker-${{ github.ref }}-${{ matrix.architecture }}-${{ github.sha
|
|
||||||
}}
|
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
docker-${{ github.ref }}-${{ matrix.architecture }}
|
docker-${{ matrix.architecture }}
|
||||||
- name: 🏗 Set up QEMU
|
- name: 🏗 Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v1.1.0
|
uses: docker/setup-qemu-action@v1.2.0
|
||||||
- name: 🏗 Set up Docker Buildx
|
- name: 🏗 Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v1.3.0
|
uses: docker/setup-buildx-action@v1.5.1
|
||||||
- name: 🏗 Set up CodeNotary
|
- name: 🏗 Set up CodeNotary
|
||||||
run: bash <(curl https://getvcn.codenotary.com -L)
|
run: bash <(curl https://getvcn.codenotary.com -L)
|
||||||
- name: ℹ️ Compose build flags
|
- name: ℹ️ Compose build flags
|
||||||
@@ -108,7 +106,7 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
- name: 🏗 Login to GitHub Container Registry
|
- name: 🏗 Login to GitHub Container Registry
|
||||||
uses: docker/login-action@v1.9.0
|
uses: docker/login-action@v1.10.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
@@ -127,7 +125,7 @@ jobs:
|
|||||||
--exit-status \
|
--exit-status \
|
||||||
'.verification.status == 0'
|
'.verification.status == 0'
|
||||||
- name: 🚀 Build
|
- name: 🚀 Build
|
||||||
uses: docker/build-push-action@v2.4.0
|
uses: docker/build-push-action@v2.6.1
|
||||||
with:
|
with:
|
||||||
load: true
|
load: true
|
||||||
# yamllint disable rule:line-length
|
# yamllint disable rule:line-length
|
||||||
@@ -140,7 +138,7 @@ jobs:
|
|||||||
cache-from: |
|
cache-from: |
|
||||||
type=local,src=/tmp/.docker-cache
|
type=local,src=/tmp/.docker-cache
|
||||||
ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge
|
ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge
|
||||||
cache-to: type=local,mode=max,dest=/tmp/.docker-cache
|
cache-to: type=local,mode=max,dest=/tmp/.docker-cache-new
|
||||||
platforms: ${{ steps.flags.outputs.platform }}
|
platforms: ${{ steps.flags.outputs.platform }}
|
||||||
build-args: |
|
build-args: |
|
||||||
BUILD_ARCH=${{ matrix.architecture }}
|
BUILD_ARCH=${{ matrix.architecture }}
|
||||||
@@ -151,6 +149,14 @@ jobs:
|
|||||||
BUILD_REF=${{ github.sha }}
|
BUILD_REF=${{ github.sha }}
|
||||||
BUILD_REPOSITORY=${{ github.repository }}
|
BUILD_REPOSITORY=${{ github.repository }}
|
||||||
BUILD_VERSION=${{ needs.information.outputs.version }}
|
BUILD_VERSION=${{ needs.information.outputs.version }}
|
||||||
|
# This ugly bit is necessary, or our cache will grow forever...
|
||||||
|
# Well until we hit GitHub's limit of 5GB :)
|
||||||
|
# https://github.com/docker/build-push-action/issues/252
|
||||||
|
# https://github.com/moby/buildkit/issues/1896
|
||||||
|
- name: 🚚 Swap build cache
|
||||||
|
run: |
|
||||||
|
rm -rf /tmp/.docker-cache
|
||||||
|
mv /tmp/.docker-cache-new /tmp/.docker-cache
|
||||||
- name: 🔏 Notarize
|
- name: 🔏 Notarize
|
||||||
# yamllint disable rule:line-length
|
# yamllint disable rule:line-length
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -17,6 +17,6 @@ jobs:
|
|||||||
- name: ⤵️ Check out code from GitHub
|
- name: ⤵️ Check out code from GitHub
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
- name: 🚀 Run Label Syncer
|
- name: 🚀 Run Label Syncer
|
||||||
uses: micnncim/action-label-syncer@v1.2.0
|
uses: micnncim/action-label-syncer@v1.3.0
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ jobs:
|
|||||||
name: 🔒 Lock closed issues and PRs
|
name: 🔒 Lock closed issues and PRs
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: dessant/lock-threads@v2.0.3
|
- uses: dessant/lock-threads@v2.1.2
|
||||||
with:
|
with:
|
||||||
github-token: ${{ github.token }}
|
github-token: ${{ github.token }}
|
||||||
issue-lock-inactive-days: "30"
|
issue-lock-inactive-days: "30"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ name: PR Labels
|
|||||||
|
|
||||||
# yamllint disable-line rule:truthy
|
# yamllint disable-line rule:truthy
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
types: [opened, labeled, unlabeled, synchronize]
|
types: [opened, labeled, unlabeled, synchronize]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -14,6 +14,7 @@ jobs:
|
|||||||
- name: 🏷 Verify PR has a valid label
|
- name: 🏷 Verify PR has a valid label
|
||||||
uses: jesusvasquez333/verify-pr-label-action@v1.4.0
|
uses: jesusvasquez333/verify-pr-label-action@v1.4.0
|
||||||
with:
|
with:
|
||||||
|
pull-request-number: "${{ github.event.pull_request.number }}"
|
||||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
valid-labels: >-
|
valid-labels: >-
|
||||||
breaking-change, bugfix, documentation, enhancement, refactor,
|
breaking-change, bugfix, documentation, enhancement, refactor,
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: 🚀 Run stale
|
- name: 🚀 Run stale
|
||||||
uses: actions/stale@v3.0.19
|
uses: actions/stale@v4
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
days-before-stale: 30
|
days-before-stale: 30
|
||||||
|
|||||||
+24
-18
@@ -1,11 +1,7 @@
|
|||||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:9.2.0
|
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:10.0.1
|
||||||
# hadolint ignore=DL3006
|
# hadolint ignore=DL3006
|
||||||
FROM ${BUILD_FROM}
|
FROM ${BUILD_FROM}
|
||||||
|
|
||||||
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories
|
|
||||||
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories
|
|
||||||
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories
|
|
||||||
|
|
||||||
COPY run.sh /run.sh
|
COPY run.sh /run.sh
|
||||||
RUN chmod +x /run.sh
|
RUN chmod +x /run.sh
|
||||||
RUN /run.sh
|
RUN /run.sh
|
||||||
@@ -13,21 +9,31 @@ RUN /run.sh
|
|||||||
RUN echo "Starting TVHeadend"
|
RUN echo "Starting TVHeadend"
|
||||||
ENTRYPOINT ["/usr/bin/tvheadend", "--firstrun", "-u", "root", "-g", "root", "-c", "/config/tvheadend"]
|
ENTRYPOINT ["/usr/bin/tvheadend", "--firstrun", "-u", "root", "-g", "root", "-c", "/config/tvheadend"]
|
||||||
|
|
||||||
|
# Build arguments
|
||||||
|
ARG BUILD_ARCH
|
||||||
|
ARG BUILD_DATE
|
||||||
|
ARG BUILD_DESCRIPTION
|
||||||
|
ARG BUILD_NAME
|
||||||
|
ARG BUILD_REF
|
||||||
|
ARG BUILD_REPOSITORY
|
||||||
|
ARG BUILD_VERSION
|
||||||
|
|
||||||
# Labels
|
# Labels
|
||||||
LABEL \
|
LABEL \
|
||||||
io.hass.name="TVHeadend" \
|
io.hass.name="${BUILD_NAME}" \
|
||||||
io.hass.description="TVHeadend Add-On" \
|
io.hass.description="${BUILD_DESCRIPTION}" \
|
||||||
io.hass.arch="${BUILD_ARCH}" \
|
io.hass.arch="${BUILD_ARCH}" \
|
||||||
io.hass.type="addon" \
|
io.hass.type="addon" \
|
||||||
io.hass.version=${BUILD_VERSION} \
|
io.hass.version=${BUILD_VERSION} \
|
||||||
maintainer="https://github.com/GauthamVarmaK" \
|
maintainer="Gautham Varma K <43441192+GauthamVarmaK@users.noreply.github.com>" \
|
||||||
org.label-schema.description="TVHeadend Home Assistant Add-On" \
|
org.opencontainers.image.title="${BUILD_NAME}" \
|
||||||
org.label-schema.build-date=${BUILD_DATE} \
|
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
|
||||||
org.label-schema.name="TVHeadend" \
|
org.opencontainers.image.vendor="GauthamVarmaK" \
|
||||||
org.label-schema.name="Home Assistant Addon: TVHeadend ${BUILD_ARCH}" \
|
org.opencontainers.image.authors="Gautham Varma K <43441192+GauthamVarmaK@users.noreply.github.com>" \
|
||||||
org.label-schema.schema-version="1.0" \
|
org.opencontainers.image.licenses="MIT" \
|
||||||
org.label-schema.url="https://github.com/GauthamVarmaK/addon-tvheadend" \
|
org.opencontainers.image.url="https://github.com/GauthamVarmaK/addon-tvheadend" \
|
||||||
org.label-schema.usage="https://github.com/GauthamVarmaK/addon-tvheadend" \
|
org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
|
||||||
org.label-schema.vcs-ref=${BUILD_REF} \
|
org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
|
||||||
org.label-schema.vcs-url="https://github.com/GauthamVarmaK/addon-tvheadend" \
|
org.opencontainers.image.created=${BUILD_DATE} \
|
||||||
org.label-schema.vendor="https://github.com/GauthamVarmaK"
|
org.opencontainers.image.revision=${BUILD_REF} \
|
||||||
|
org.opencontainers.image.version=${BUILD_VERSION}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"build_from": {
|
"build_from": {
|
||||||
"aarch64": "ghcr.io/hassio-addons/base/aarch64:9.2.0",
|
"aarch64": "ghcr.io/hassio-addons/base/aarch64:10.0.1",
|
||||||
"amd64": "ghcr.io/hassio-addons/base/amd64:9.2.0",
|
"amd64": "ghcr.io/hassio-addons/base/amd64:10.0.1",
|
||||||
"armhf": "ghcr.io/hassio-addons/base/armhf:9.2.0",
|
"armhf": "ghcr.io/hassio-addons/base/armhf:10.0.1",
|
||||||
"armv7": "ghcr.io/hassio-addons/base/armv7:9.2.0",
|
"armv7": "ghcr.io/hassio-addons/base/armv7:10.0.1",
|
||||||
"i386": "ghcr.io/hassio-addons/base/i386:9.2.0"
|
"i386": "ghcr.io/hassio-addons/base/i386:10.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+65
-46
@@ -1,77 +1,96 @@
|
|||||||
#!/usr/bin/env bashio
|
#!/usr/bin/env bashio
|
||||||
|
|
||||||
bashio::log.info "[TVHeadend] Installing TVHeadend"
|
bashio::log.info "[TVHeadend] Installing TVHeadend"
|
||||||
apk update && apk add --no-cache tvheadend=4.2.8-r3 git=2.31.1-r1 mono=6.12.0.122-r1
|
apk update && apk add --no-cache tvheadend=4.2.8-r3
|
||||||
|
|
||||||
mkdir -p /config/tvheadend/recordings
|
mkdir -p /config/tvheadend/recordings
|
||||||
|
|
||||||
bashio::log.info '[TVHeadend] Setup completed without errors!!'
|
bashio::log.info '[TVHeadend] Setup completed without errors!!'
|
||||||
|
|
||||||
mkdir -p ~/.wg++
|
check_webgrabplus(){
|
||||||
ln -sf /config/tvheadend/wg++/guide.xml ~/.wg++/guide.xml
|
if [ -z "$(ls -A /config/tvheadend/wg++)" ]; then return 1; else return 0; fi
|
||||||
|
}
|
||||||
|
|
||||||
if [ "$(ls -A /config/tvheadend/wg++)" ]; then
|
webgrabplus_install(){
|
||||||
|
if apk update; then
|
||||||
|
bashio::log.info '[Webgrab+] APK: Installing required packages.'
|
||||||
|
if apk add --no-cache --virtual .build-deps git mono --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing; then
|
||||||
|
bashio::log.info '[Webgrab+] Installing Webgrab+.'
|
||||||
|
mkdir -p ~/.wg++
|
||||||
|
ln -sf /config/tvheadend/wg++/guide.xml ~/.wg++/guide.xml
|
||||||
|
cd /tmp && \
|
||||||
|
wget http://webgrabplus.com/sites/default/files/download/SW/V3.2.0/WebGrabPlus_V3.2_install.tar.gz && \
|
||||||
|
tar -xvf WebGrabPlus_V3.2_install.tar.gz && rm WebGrabPlus_V3.2_install.tar.gz && \
|
||||||
|
mv .wg++/ /config/tvheadend/wg++ && cd /config/tvheadend/wg++ && ./install.sh
|
||||||
|
rm -rf siteini.pack/ && \
|
||||||
|
wget http://webgrabplus.com/sites/default/files/download/ini/SiteIniPack_current.zip && \
|
||||||
|
unzip SiteIniPack_current.zip && rm SiteIniPack_current.zip && \
|
||||||
|
cp siteini.pack/India/* siteini.user/
|
||||||
|
|
||||||
|
wget -O /usr/bin/tv_grab_wg++ http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt && \
|
||||||
|
chmod a+x /usr/bin/tv_grab_wg++
|
||||||
|
|
||||||
|
echo "0 0 * * * /config/tvheadend/wg++/run.sh" >> /var/spool/cron/root
|
||||||
|
crond
|
||||||
|
else
|
||||||
|
bashio::log.info '[Webgrab+] APK: Critical error. Unable install required packages.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
bashio::log.info '[Webgrab+] APK: Removing packages no longer required.'
|
||||||
|
apk del .build-deps git mono
|
||||||
|
else
|
||||||
|
bashio::log.error '[Webgrab+] APK: Critical error. Unable to update pkg list. Check connectivity.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
bashio::log.info '[Webgrab+] Finsihed all APK and PIP3 updates and installs.'
|
||||||
|
}
|
||||||
|
|
||||||
|
if check_webgrabplus; then
|
||||||
bashio::log.info "[Webgrab+] Webgrab+ already installed"
|
bashio::log.info "[Webgrab+] Webgrab+ already installed"
|
||||||
else
|
else
|
||||||
bashio::log.info "[Webgrab+] No webgrab+ installation found - Installing webgrab+"
|
bashio::log.info "[Webgrab+] No webgrab+ installation found - Installing webgrab+"
|
||||||
cd /tmp && \
|
webgrabplus_install
|
||||||
wget http://webgrabplus.com/sites/default/files/download/SW/V3.1.0/WebGrabPlus_V3.1_install.tar.gz && \
|
|
||||||
tar -xvf WebGrabPlus_V3.1_install.tar.gz && rm WebGrabPlus_V3.1_install.tar.gz && \
|
|
||||||
mv .wg++/ /config/tvheadend/wg++ && \
|
|
||||||
cd /config/tvheadend/wg++ && \
|
|
||||||
./install.sh
|
|
||||||
|
|
||||||
rm -rf siteini.pack/ && \
|
|
||||||
git clone https://github.com/DeBaschdi/webgrabplus-siteinipack.git && \
|
|
||||||
cp -R webgrabplus-siteinipack/siteini.pack/ siteini.pack && \
|
|
||||||
cp siteini.pack/International/horizon.tv.* siteini.user/
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wget -O /usr/bin/tv_grab_wg++ http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt && \
|
|
||||||
chmod a+x /usr/bin/tv_grab_wg++
|
|
||||||
|
|
||||||
bashio::log.info '[Webgrab+] Setup completed without errors!!'
|
bashio::log.info '[Webgrab+] Setup completed without errors!!'
|
||||||
|
|
||||||
echo "0 0 * * * /config/tvheadend/wg++/run.sh" >> /var/spool/cron/root
|
|
||||||
crond
|
|
||||||
|
|
||||||
check_streamlink () {
|
check_streamlink () {
|
||||||
if [ -z "$(command -v streamlink)" ]; then return 1; else return 0; fi
|
if [ -z "$(command -v streamlink)" ]; then return 1; else return 0; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
streamlink_update () {
|
streamlink_update () {
|
||||||
if pip3 install --no-cache --upgrade streamlink; then
|
if pip3 install --no-cache --upgrade streamlink; then
|
||||||
bashio::log.info "[StreamLink] Streamlink version: $(streamlink --version)."
|
bashio::log.info "[StreamLink] Streamlink version: $(streamlink --version)."
|
||||||
else
|
else
|
||||||
bashio::log.error '[StreamLink] Streamlink update failed!'
|
bashio::log.error '[StreamLink] Streamlink update failed!'
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
streamlink_install () {
|
streamlink_install () {
|
||||||
bashio::log.info '[StreamLink] APK: Updating pkg list.'
|
bashio::log.info '[StreamLink] APK: Updating pkg list.'
|
||||||
if apk update; then
|
if apk update; then
|
||||||
bashio::log.info '[StreamLink] APK: Installing required packages.'
|
bashio::log.info '[StreamLink] APK: Installing required packages.'
|
||||||
if apk add --no-cache py3-pip && apk add --no-cache --virtual .build-deps gcc musl-dev; then
|
if apk add --no-cache py3-pip && apk add --no-cache --virtual .build-deps musl-dev gcc; then
|
||||||
bashio::log.info '[StreamLink] PIP3: Updating and installing required packages.'
|
bashio::log.info '[StreamLink] PIP3: Updating and installing required packages.'
|
||||||
if ! pip3 install --no-cache --upgrade setuptools; then bashio::log.error '[StreamLink] PIP3: Error while upgrading setuptools.'; fi
|
if ! pip3 install --no-cache --upgrade setuptools; then bashio::log.error '[StreamLink] PIP3: Error while upgrading setuptools.'; fi
|
||||||
if ! pip3 install --no-cache streamlink; then bashio::log.error '[StreamLink] PIP3: Error while installing Streamlink.'; fi
|
if ! pip3 install --no-cache streamlink; then bashio::log.error '[StreamLink] PIP3: Error while installing Streamlink.'; fi
|
||||||
|
else
|
||||||
|
bashio::log.info '[StreamLink] APK: Critical error. Unable install required packages.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
bashio::log.info '[StreamLink] APK: Removing packages no longer required.'
|
||||||
|
apk del .build-deps gcc musl-dev
|
||||||
else
|
else
|
||||||
bashio::log.info '[StreamLink] APK: Critical error. Unable install required packages.'
|
bashio::log.error '[StreamLink] APK: Critical error. Unable to update pkg list. Check connectivity.'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
bashio::log.info '[StreamLink] APK: Removing packages no longer required.'
|
bashio::log.info '[StreamLink] Finsihed all APK and PIP3 updates and installs.'
|
||||||
apk del .build-deps gcc musl-dev
|
|
||||||
else
|
|
||||||
bashio::log.error '[StreamLink] APK: Critical error. Unable to update pkg list. Check connectivity.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
bashio::log.info '[StreamLink] Finsihed all APK and PIP3 updates and installs.'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if check_streamlink; then
|
if check_streamlink; then
|
||||||
bashio::log.info '[StreamLink] Updating Streamlink...' ; streamlink_update
|
bashio::log.info '[StreamLink] Updating Streamlink...' ; streamlink_update
|
||||||
else
|
else
|
||||||
bashio::log.info '[StreamLink] Installing Streamlink...'; streamlink_install
|
bashio::log.info '[StreamLink] Installing Streamlink...'; streamlink_install
|
||||||
fi
|
fi
|
||||||
|
|
||||||
bashio::log.info '[StreamLink] Setup completed without errors!!'
|
bashio::log.info '[StreamLink] Setup completed without errors!!'
|
||||||
|
|||||||
Reference in New Issue
Block a user