diff --git a/sponsorblockcast/CHANGELOG.md b/sponsorblockcast/CHANGELOG.md new file mode 100644 index 000000000..a4f80f63c --- /dev/null +++ b/sponsorblockcast/CHANGELOG.md @@ -0,0 +1,3 @@ +## 1.0 + +- Initial build diff --git a/sponsorblockcast/Dockerfile b/sponsorblockcast/Dockerfile new file mode 100644 index 000000000..e4119c2e1 --- /dev/null +++ b/sponsorblockcast/Dockerfile @@ -0,0 +1,113 @@ +#============================# +# ALEXBELGIUM'S DOCKERFILE # +#============================# +# _.------. +# _.-` ('>.-`"""-. +# '.--'` _'` _ .--.) +# -' '-.-';` ` +# ' - _.' ``'--. +# '---` .-'""` +# /` +#=== Home Assistant Addon ===# + +################# +# 1 Build Image # +################# + +ARG BUILD_FROM +FROM $BUILD_FROM +VOLUME [ "/data" ] + +################## +# 2 Modify Image # +################## + +RUN apk --no-cache add jq bc grep curl \ + && GC_URL=`wget https://api.github.com/repos/vishen/go-chromecast/releases/latest -O - | jq -r '.assets[].browser_download_url' | grep ${TARGETOS}_${TARGETARCH}${TARGETVARIANT}` \ + && wget $GC_URL -O /root/go-chromecast.tgz \ + && tar xzf /root/go-chromecast.tgz -C /usr/bin \ + && rm -rf /root/* \ + && chmod +x /usr/bin/go-chromecast + +ADD sponsorblockcast.sh /usr/bin/sponsorblockcast + +################## +# 3 Install apps # +################## + +# Add rootfs +COPY rootfs/ / + +# Corrects permissions for s6 v3 +RUN if [ -d /etc/cont-init.d ]; then chmod -R 755 /etc/cont-init.d; fi && \ + if [ -d /etc/services.d ]; then chmod -R 755 /etc/services.d; fi && \ + if [ -f /entrypoint.sh ]; then chmod 755 /entrypoint.sh; fi + +# Modules +ARG MODULES="00-banner.sh 01-custom_script.sh" + +# Automatic modules download +RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \ + && if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \ + && apt-get update && apt-get install -yqq --no-install-recommends ca-certificates || apk add --no-cache ca-certificates >/dev/null || true \ + && mkdir -p /etc/cont-init.d \ + && for scripts in $MODULES; do echo "$scripts" && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/$scripts" -o /etc/cont-init.d/"$scripts" && [ "$(sed -n '/\/bin/p;q' /etc/cont-init.d/"$scripts")" != "" ] || (echo "script failed to install $scripts" && exit 1); done \ + && chmod -R 755 /etc/cont-init.d + +# Manual apps +ENV PACKAGES="" + +# Automatic apps & bashio +# hadolint ignore=SC2015 +RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \ + && if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \ + && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/automatic_packages.sh" --output /automatic_packages.sh \ + && chmod 777 /automatic_packages.sh \ + && eval /./automatic_packages.sh "${PACKAGES:-}" \ + && rm /automatic_packages.sh + +################ +# 4 Entrypoint # +################ + +# Entrypoint logic +RUN chmod 777 /entrypoint.sh +#WORKDIR / +ENTRYPOINT [ "/usr/bin/env" ] +CMD [ "/entrypoint.sh" ] +# Set shell +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +############ +# 5 Labels # +############ + +ARG BUILD_ARCH +ARG BUILD_DATE +ARG BUILD_DESCRIPTION +ARG BUILD_NAME +ARG BUILD_REF +ARG BUILD_REPOSITORY +ARG BUILD_VERSION +LABEL \ + io.hass.name="${BUILD_NAME}" \ + io.hass.description="${BUILD_DESCRIPTION}" \ + io.hass.arch="${BUILD_ARCH}" \ + io.hass.type="addon" \ + io.hass.version=${BUILD_VERSION} \ + maintainer="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.title="${BUILD_NAME}" \ + org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ + org.opencontainers.image.vendor="Home Assistant Add-ons" \ + org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \ + org.opencontainers.image.licenses="MIT" \ + org.opencontainers.image.url="https://github.com/alexbelgium" \ + org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ + org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ + org.opencontainers.image.created=${BUILD_DATE} \ + org.opencontainers.image.revision=${BUILD_REF} \ + org.opencontainers.image.version=${BUILD_VERSION} + +#################### +# 6 HealthcheckNOT # +#################### diff --git a/sponsorblockcast/README.md b/sponsorblockcast/README.md new file mode 100644 index 000000000..e9df4c4cf --- /dev/null +++ b/sponsorblockcast/README.md @@ -0,0 +1,58 @@ +# Home assistant add-on: Sponsorblockcast + +[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium) + +![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Femby%2Fconfig.json) +![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Femby%2Fconfig.json) +![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Femby%2Fconfig.json) + +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade) +[![GitHub Super-Linter](https://github.com/alexbelgium/hassio-addons/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter) +[![Builder](https://github.com/alexbelgium/hassio-addons/workflows/Builder/badge.svg)](https://github.com/alexbelgium/hassio-addons/actions/workflows/builder.yaml) + +[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white + +_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_ + +[![Stargazers repo roster for @alexbelgium/hassio-addons](https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30)](https://github.com/alexbelgium/hassio-addons/stargazers) + +## About + +[Sponsorblockcast](https://github.com/nichobi/sponsorblockcast) is a POSIX shell script that skips sponsored YouTube content and skippable ads on all local Chromecasts, using the SponsorBlock API. It was inspired by CastBlock but written from scratch to avoid some of its pitfalls (see Differences from CastBlock). + +This app is developed by @nichobi here : https://github.com/nichobi/sponsorblockcast + +## Configuration + +Webui can be found at `:8096`, or within Home Assistant through Ingress. + +```yaml +PGID: user +GPID: user +TZ: timezone +localdisks: sda1 #put the hardware name of your drive to mount separated by commas, or its label. ex. sda1, sdb1, MYNAS... +networkdisks: "//SERVER/SHARE" # optional, list of smb servers to mount, separated by commas +cifsusername: "username" # optional, smb username, same for all smb shares +cifspassword: "password" # optional, smb password +cifsdomain: "domain" # optional, allow setting the domain for the smb share +silent: true #suppresses debug messages +``` + +## Installation + +The installation of this add-on is pretty straightforward and not different in +comparison to installing any other Hass.io add-on. + +1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance. +1. Install this add-on. +1. Click the `Save` button to store your configuration. +1. Start the add-on. +1. Check the logs of the add-on to see if everything went well. +1. Carefully configure the add-on to your preferences, see the official documentation for for that. + +## Support and issues + +Addon : here +App : https://github.com/nichobi/sponsorblockcast + +[repository]: https://github.com/alexbelgium/hassio-addons diff --git a/sponsorblockcast/apparmor.txt b/sponsorblockcast/apparmor.txt new file mode 100644 index 000000000..7d7a544e0 --- /dev/null +++ b/sponsorblockcast/apparmor.txt @@ -0,0 +1,58 @@ +#include + +profile addon_updater flags=(attach_disconnected,mediate_deleted) { + #include + + # Capabilities + file, + signal, + network udp, + network tcp, + network dgram, + network stream, + network inet, + network inet6, + network netlink raw, + network unix dgram, + + # S6-Overlay + /init ix, + /run/{s6,s6-rc*,service}/** ix, + /package/** ix, + /command/** ix, + /run/{,**} rwk, + /dev/tty rw, + /init rix, + /bin/** ix, + /usr/bin/** ix, + /etc/s6/** rix, + /run/s6/** rwix, + /etc/services.d/** rwix, + /etc/cont-init.d/** rwix, + /etc/cont-finish.d/** rwix, + /run/** rwk, + /dev/fuse mrwkl, + /dev/sda1 mrwkl, + /dev/sdb1 mrwkl, + /dev/nvme0 mrwkl, + /dev/nvme1 mrwkl, + /dev/mmcblk0p1 mrwkl, + + # bashio + /usr/lib/bashio/** ix, + /tmp/** rw, + + # Access to Options.json and other files within your addon + /data/** rw, + + # Start new profile for service + /usr/bin/myprogram cx, + + profile usr/bin/myprogram flags=(attach_disconnected,mediate_deleted) { + #include + + # Receive signals from S6-Overlay + signal receive, + } +} + diff --git a/sponsorblockcast/build.json b/sponsorblockcast/build.json new file mode 100644 index 000000000..b5eeb24a0 --- /dev/null +++ b/sponsorblockcast/build.json @@ -0,0 +1,10 @@ +{ + "build_from": { + "aarch64": "ghcr.io/hassio-addons/base/aarch64:stable", + "amd64": "ghcr.io/hassio-addons/base/amd64:stable", + "armv7": "ghcr.io/hassio-addons/base/armv7:stable" + }, + "codenotary": { + "signer": "alexandrep.github@gmail.com" + } +} \ No newline at end of file diff --git a/sponsorblockcast/config.json b/sponsorblockcast/config.json new file mode 100644 index 000000000..80eab636e --- /dev/null +++ b/sponsorblockcast/config.json @@ -0,0 +1,30 @@ +{ + "arch": [ + "aarch64", + "amd64", + "armv7" + ], + "codenotary": "alexandrep.github@gmail.com", + "description": "skips sponsored YouTube content on all local Chromecasts", + "environment": { + "SBCDIR": "/tmp/sponsorblockcast" + }, + "host_network": true, + "image": "ghcr.io/alexbelgium/sponsorblockcast-{arch}", + "init": false, + "name": "Sponsorblockcast", + "options": { + "SBCPOLLINTERVAL": "1", + "SBCSCANINTERVAL": "300", + "SBCCATEGORIES": "sponsor" + }, + "schema": { + "SBCPOLLINTERVAL": "int", + "SBCSCANINTERVAL": "int", + "SBCCATEGORIES": "str", + "SBCYOUTUBEAPIKEY": "str?" + }, + "slug": "sponsorblockcast", + "url": "https://github.com/alexbelgium/hassio-addons/tree/master/sponsorblockcast", + "version": "1.0" +} \ No newline at end of file diff --git a/sponsorblockcast/icon.png b/sponsorblockcast/icon.png new file mode 100644 index 000000000..483d3cd9b Binary files /dev/null and b/sponsorblockcast/icon.png differ diff --git a/sponsorblockcast/logo.png b/sponsorblockcast/logo.png new file mode 100644 index 000000000..483d3cd9b Binary files /dev/null and b/sponsorblockcast/logo.png differ diff --git a/sponsorblockcast/rootfs/entrypoint.sh b/sponsorblockcast/rootfs/entrypoint.sh new file mode 100644 index 000000000..68c3fec4d --- /dev/null +++ b/sponsorblockcast/rootfs/entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash +echo "Starting..." + +#################### +# Starting scripts # +#################### + +for SCRIPTS in /etc/cont-init.d/*; do + [ -e "$SCRIPTS" ] || continue + echo "$SCRIPTS: executing" + chown "$(id -u)":"$(id -g)" "$SCRIPTS" + chmod a+x "$SCRIPTS" + # Change shebang if no s6 supervision + sed -i 's|/usr/bin/with-contenv bashio|/usr/bin/env bashio|g' "$SCRIPTS" + /."$SCRIPTS" || echo "$SCRIPTS: exiting $?" +done diff --git a/sponsorblockcast/rootfs/etc/cont-init.d/99-run.sh b/sponsorblockcast/rootfs/etc/cont-init.d/99-run.sh new file mode 100644 index 000000000..e9d8f96ab --- /dev/null +++ b/sponsorblockcast/rootfs/etc/cont-init.d/99-run.sh @@ -0,0 +1,16 @@ +#!/usr/bin/with-contenv bashio +# shellcheck shell=bash + +# make directory +mkdir -p /tmp/sponsorblockcast + +# Export options as env variables +for var in SBCPOLLINTERVAL SBCSCANINTERVAL SBCCATEGORIES SBCYOUTUBEAPIKEY; do + if bashio::config.has_value "$var"; then + export "$var"="$(bashio::config "$var")" + fi +done + +# Starting app +bashio::log.info "Starting app" +/./usr/bin/sponsorblockcast &>/proc/1/fd/1 diff --git a/sponsorblockcast/translations/en.yaml b/sponsorblockcast/translations/en.yaml new file mode 100644 index 000000000..18cd11c17 --- /dev/null +++ b/sponsorblockcast/translations/en.yaml @@ -0,0 +1,659 @@ +--- +configuration: + additional_apps: + name: additional_apps + description: Additional apps to install at boot + allow_ipv6: + name: allow_ipv6 + description: Enables ipv6 in the addon + ALLOW_SIGNUP: + name: ALLOW_SIGNUP + description: See upstream app documentation + ALLOWED_HOSTS: + name: ALLOWED_HOSTS + description: See upstream app documentation + APP_BASE_URL: + name: APP_BASE_URL + description: See upstream app documentation + APP_KEY: + name: APP_KEY + description: See upstream app documentation + APP_NAME: + name: APP_NAME + description: See upstream app documentation + append_myip: + name: append_myip + description: See upstream app documentation + auto_restart: + name: auto_restart + description: See upstream app documentation + BACKUP_PATH: + name: BACKUP_PATH + description: See upstream app documentation + base_folder: + name: base_folder + description: See upstream app documentation + BASE_URL: + name: BASE_URL + description: See upstream app documentation + base_url_portless: + name: base_url_portless + description: See upstream app documentation + certfile: + name: certfile + description: "fullchain.pem #ssl certificate, must be located in /ssl" + checkip_command: + name: checkip_command + description: See upstream app documentation + checkip_path: + name: checkip_path + description: See upstream app documentation + checkip_server: + name: checkip_server + description: See upstream app documentation + checkip_ssl: + name: checkip_ssl + description: See upstream app documentation + cifsdomain: + name: cifsdomain + description: Allow setting the domain for the smb share + cifspassword: + name: cifspassword + description: Your password to access your SMB share, same for all smb shares + cifsusername: + name: cifsusername + description: Your username to access your SMB share, same for all smb shares + claim: + name: claim + description: See upstream app documentation + CLI_ARGS: + name: CLI_ARGS + description: See upstream app documentation + COLLECTOR_API_ENDPOINT: + name: COLLECTOR_API_ENDPOINT + description: See upstream app documentation + COLLECTOR_HOST_ID: + name: COLLECTOR_HOST_ID + description: See upstream app documentation + CONFIG_LOCATION: + name: CONFIG_LOCATION + description: See upstream app documentation + CUSTOM_OPTIONS: + name: CUSTOM_OPTIONS + description: See upstream app documentation + custom_provider: + name: custom_provider + description: See upstream app documentation + customUI: + name: customUI + description: selection from list # alternative webUI can be set here + data_directory: + name: data_directory + description: See upstream app documentation + data_location: + name: data_location + description: Where do you want your data stored + database: + name: database + description: Type of database to use + DB_CLIENT: + name: DB_CLIENT + description: See upstream app documentation + DB_CONNECTION: + name: DB_CONNECTION + description: See upstream app documentation + DB_DATABASE: + name: DB_DATABASE + description: See upstream app documentation + DB_DATABASE_NAME: + name: DB_DATABASE_NAME + description: If using external postgresql + DB_HOST: + name: DB_HOST + description: See upstream app documentation + DB_HOSTNAME: + name: DB_HOSTNAME + description: If using external database + DB_PASSWORD: + name: DB_PASSWORD + description: If using external database + DB_PORT: + name: DB_PORT + description: If using external database + DB_TYPE: + name: DB_TYPE + description: See upstream app documentation + DB_USERNAME: + name: DB_USERNAME + description: If using external database + ddns_path: + name: ddns_path + description: See upstream app documentation + ddns_server: + name: ddns_server + description: See upstream app documentation + DEBUG: + name: DEBUG + description: See upstream app documentation + DISABLE_MACHINE_LEARNING: + name: DISABLE_MACHINE_LEARNING + description: See upstream app documentation + DNS_server: + name: DNS_server + description: See upstream app documentation + DOCKER_MODS: + name: DOCKER_MODS + description: See upstream app documentation + DOMAIN: + name: DOMAIN + description: See upstream app documentation + download_dir: + name: download_dir + description: See upstream app documentation + downloads_location: + name: downloads_location + description: See upstream app documentation + DROPBOX_TOKEN: + name: DROPBOX_TOKEN + description: See upstream app documentation + edge_repositories: + name: edge_repositories + description: See upstream app documentation + elasticsearch_server: + name: elasticsearch_server + description: See upstream app documentation + expose_collector: + name: expose_collector + description: See upstream app documentation + EXTENSIONS: + name: EXTENSIONS + description: See upstream app documentation + extraction_path: + name: extraction_path + description: See upstream app documentation + fake_address: + name: fake_address + description: See upstream app documentation + FG_LOG_LEVEL: + name: FG_LOG_LEVEL + description: See upstream app documentation + FG_PLUGINS: + name: FG_PLUGINS + description: See upstream app documentation + FIREFLY_III_ACCESS_TOKEN: + name: FIREFLY_III_ACCESS_TOKEN + description: See upstream app documentation + FIREFLY_III_CLIENT_ID: + name: FIREFLY_III_CLIENT_ID + description: See upstream app documentation + FIREFLY_III_URL: + name: FIREFLY_III_URL + description: See upstream app documentation + forced_update: + name: forced_update + description: See upstream app documentation + Full_Text_Search: + name: Full_Text_Search + description: See upstream app documentation + gitapi: + name: gitapi + description: See upstream app documentation + gitmail: + name: gitmail + description: See upstream app documentation + gitpass: + name: gitpass + description: See upstream app documentation + gituser: + name: gituser + description: See upstream app documentation + graphic_drivers: + name: graphic_drivers + description: See upstream app documentation + hostname: + name: hostname + description: See upstream app documentation + HTTPS_ONLY: + name: HTTPS_ONLY + description: See upstream app documentation + iface: + name: iface + description: See upstream app documentation + Images_location: + name: Images_location + description: See upstream app documentation + imaphost: + name: imaphost + description: See upstream app documentation + imappassword: + name: imappassword + description: See upstream app documentation + imapusername: + name: imapusername + description: See upstream app documentation + import_dir: + name: import_dir + description: See upstream app documentation + IMPORT_PATH: + name: IMPORT_PATH + description: See upstream app documentation + incomplete_dir: + name: incomplete_dir + description: See upstream app documentation + ingress_disabled: + name: ingress_disabled + description: See upstream app documentation + ingress_user: + name: ingress_user + description: See upstream app documentation + INTERFACE_NAME: + name: INTERFACE_NAME + description: See upstream app documentation + iterations: + name: iterations + description: See upstream app documentation + JWT_SECRET: + name: JWT_SECRET + description: Used to sign the authentication keys for user login + KEYBOARD: + name: KEYBOARD + description: See upstream app documentation + keyfile: + name: keyfile + description: privkey.pem #sslkeyfile, must be located in /ssl + LOCAL_NETWORK: + name: LOCAL_NETWORK + description: See upstream app documentation + localdisks: + name: localdisks + description: Physical name of the partition (ex. sda1) or the share (ex. SharedFiles) to mount separated by commas (ex. sda1,sdb1,MYNAS) + log_level: + name: log_level + description: See upstream app documentation + MAILER_AUTH_PASSWORD: + name: MAILER_AUTH_PASSWORD + description: See upstream app documentation + MAILER_AUTH_USER: + name: MAILER_AUTH_USER + description: See upstream app documentation + MAILER_ENABLED: + name: MAILER_ENABLED + description: See upstream app documentation + OPENVPN_PROVIDER: + name: OPENVPN_PROVIDER + description: See upstream app documentation + OPENVPN_USERNAME: + name: OPENVPN_USERNAME + description: See upstream app documentation + ORIGINALS_PATH: + name: ORIGINALS_PATH + description: See upstream app documentation + PAPERLESS_OCR_MODE: + name: PAPERLESS_OCR_MODE + description: See upstream app documentation + PAPERLESS_URL: + name: PAPERLESS_URL + description: See upstream app documentation + pass: + name: pass + description: See upstream app documentation + password: + name: password + description: See upstream app documentation + period: + name: period + description: See upstream app documentation + PGID: + name: PGID + description: The user group ID, as described in https://docs.linuxserver.io/general/understanding-puid-and-pgid + PMM_CONFIG: + name: PMM_CONFIG + description: See upstream app documentation + PMM_NO_MISSING: + name: PMM_NO_MISSING + description: See upstream app documentation + PMM_RUN: + name: PMM_RUN + description: See upstream app documentation + PMM_TEST: + name: PMM_TEST + description: See upstream app documentation + PMM_TIME: + name: PMM_TIME + description: See upstream app documentation + POSTGRES_DATABASE: + name: POSTGRES_DATABASE + description: See upstream app documentation + POSTGRES_DB: + name: POSTGRES_DB + description: See upstream app documentation + POSTGRES_HOST: + name: POSTGRES_HOST + description: See upstream app documentation + POSTGRES_PASSWORD: + name: POSTGRES_PASSWORD + description: See upstream app documentation + POSTGRES_PORT: + name: POSTGRES_PORT + description: See upstream app documentation + POSTGRES_USER: + name: POSTGRES_USER + description: See upstream app documentation + provider: + name: provider + description: See upstream app documentation + providers: + name: providers + description: See upstream app documentation + proxied: + name: proxied + description: See upstream app documentation + PUID: + name: PUID + description: The user group ID, as described in https://docs.linuxserver.io/general/understanding-puid-and-pgid + remote_mysql_database: + name: remote_mysql_database + description: See upstream app documentation + remote_mysql_host: + name: remote_mysql_host + description: See upstream app documentation + remote_mysql_password: + name: remote_mysql_password + description: See upstream app documentation + remote_mysql_port: + name: remote_mysql_port + description: See upstream app documentation + remote_mysql_username: + name: remote_mysql_username + description: See upstream app documentation + repository: + name: repository + description: See upstream app documentation + request_size_limit: + name: request_size_limit + description: See upstream app documentation + ROOT_URL: + name: ROOT_URL + description: See upstream app documentation + ROUTER_IP: + name: ROUTER_IP + description: See upstream app documentation + rpi_video_drivers: + name: rpi_video_drivers + description: See upstream app documentation + run_duration: + name: run_duration + description: 12h #for how long should the addon run. Must be formatted as number + time unit (ex : 5s, or 2m, or 12h, or 5d...) + SavePath: + name: SavePath + description: See upstream app documentation + SEAFILE_ADMIN_EMAIL: + name: SEAFILE_ADMIN_EMAIL + description: See upstream app documentation + SEAFILE_ADMIN_PASSWORD: + name: SEAFILE_ADMIN_PASSWORD + description: See upstream app documentation + SECRET_KEY: + name: SECRET_KEY + description: See upstream app documentation + secret_token: + name: secret_token + description: See upstream app documentation + secure_ssl: + name: secure_ssl + description: See upstream app documentation + silent: + name: silent + description: "true #suppresses debug messages" + SMARTCTL_COMMAND_DEVICE_TYPE: + name: SMARTCTL_COMMAND_DEVICE_TYPE + description: See upstream app documentation + SMARTCTL_MEGARAID_DISK_NUM: + name: SMARTCTL_MEGARAID_DISK_NUM + description: See upstream app documentation + smbv1: + name: smbv1 + description: See upstream app documentation + SPECTRE_APP_ID: + name: SPECTRE_APP_ID + description: See upstream app documentation + SPECTRE_SECRET: + name: SPECTRE_SECRET + description: See upstream app documentation + ssl: + name: ssl + description: true/false. enables ssl. Need certfile and keyfile filled' + storage_dir: + name: storage_dir + description: See upstream app documentation + STORAGE_PATH: + name: STORAGE_PATH + description: See upstream app documentation + theme: + name: theme + description: See upstream app documentation + TRANSMISSION_DOWNLOAD_DIR: + name: TRANSMISSION_DOWNLOAD_DIR + description: See upstream app documentation + TRANSMISSION_HOME: + name: TRANSMISSION_HOME + description: See upstream app documentation + TRANSMISSION_INCOMPLETE_DIR: + name: TRANSMISSION_INCOMPLETE_DIR + description: See upstream app documentation + TRANSMISSION_V3_UPDATE: + name: TRANSMISSION_V3_UPDATE + description: See upstream app documentation + TRANSMISSION_WATCH_DIR: + name: TRANSMISSION_WATCH_DIR + description: See upstream app documentation + TRANSMISSION_WEB_UI: + name: TRANSMISSION_WEB_UI + description: See upstream app documentation + trusted_domains: + name: trusted_domains + description: See upstream app documentation + trusted_headers: + name: trusted_headers + description: See upstream app documentation + ttl: + name: ttl + description: See upstream app documentation + TZ: + name: TZ + description: The timezone, as described in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + ui_path: + name: ui_path + description: See upstream app documentation + Updates: + name: Updates + description: See upstream app documentation + UPLOAD_NSFW: + name: UPLOAD_NSFW + description: See upstream app documentation + URL: + name: URL + description: See upstream app documentation + use_own_certs: + name: use_own_certs + description: See upstream app documentation + user: + name: user + description: See upstream app documentation + user_agent: + name: user_agent + description: See upstream app documentation + username: + name: username + description: See upstream app documentation + verbose: + name: verbose + description: See upstream app documentation + verify_address: + name: verify_address + description: See upstream app documentation + watch_dir: + name: watch_dir + description: See upstream app documentation + watch_path: + name: watch_path + description: See upstream app documentation + WebuiPass: + name: WebuiPass + description: See upstream app documentation + whitelist: + name: whitelist + description: '"localhost,192.168.0.0/16" # list ip subnets that that can access the webui' + WHOOGLE_ALT_IG: + name: WHOOGLE_ALT_IG + description: See upstream app documentation + WHOOGLE_ALT_MD: + name: WHOOGLE_ALT_MD + description: See upstream app documentation + WHOOGLE_ALT_RD: + name: WHOOGLE_ALT_RD + description: See upstream app documentation + WHOOGLE_ALT_TL: + name: WHOOGLE_ALT_TL + description: See upstream app documentation + WHOOGLE_ALT_TW: + name: WHOOGLE_ALT_TW + description: See upstream app documentation + WHOOGLE_ALT_YT: + name: WHOOGLE_ALT_YT + description: See upstream app documentation + WHOOGLE_AUTOCOMPLETE: + name: WHOOGLE_AUTOCOMPLETE + description: See upstream app documentation + WHOOGLE_CONFIG_ALTS: + name: WHOOGLE_CONFIG_ALTS + description: See upstream app documentation + WHOOGLE_CONFIG_BLOCK: + name: WHOOGLE_CONFIG_BLOCK + description: See upstream app documentation + WHOOGLE_CONFIG_COUNTRY: + name: WHOOGLE_CONFIG_COUNTRY + description: See upstream app documentation + WHOOGLE_CONFIG_DISABLE: + name: WHOOGLE_CONFIG_DISABLE + description: See upstream app documentation + WHOOGLE_CONFIG_GET_ONLY: + name: WHOOGLE_CONFIG_GET_ONLY + description: See upstream app documentation + WHOOGLE_CONFIG_LANGUAGE: + name: WHOOGLE_CONFIG_LANGUAGE + description: See upstream app documentation + WHOOGLE_CONFIG_NEAR: + name: WHOOGLE_CONFIG_NEAR + description: See upstream app documentation + WHOOGLE_CONFIG_NEW_TAB: + name: WHOOGLE_CONFIG_NEW_TAB + description: See upstream app documentation + WHOOGLE_CONFIG_SAFE: + name: WHOOGLE_CONFIG_SAFE + description: See upstream app documentation + WHOOGLE_CONFIG_SEARCH_LANGUAGE: + name: WHOOGLE_CONFIG_SEARCH_LANGUAGE + description: See upstream app documentation + WHOOGLE_CONFIG_THEME: + name: WHOOGLE_CONFIG_THEME + description: See upstream app documentation + WHOOGLE_CONFIG_URL: + name: WHOOGLE_CONFIG_URL + description: See upstream app documentation + WHOOGLE_CONFIG_VIEW_IMAGE: + name: WHOOGLE_CONFIG_VIEW_IMAGE + description: See upstream app documentation + WHOOGLE_CSP: + name: WHOOGLE_CSP + description: See upstream app documentation + WHOOGLE_MINIMAL: + name: WHOOGLE_MINIMAL + description: See upstream app documentation + WHOOGLE_PASS: + name: WHOOGLE_PASS + description: See upstream app documentation + WHOOGLE_PROXY_LOC: + name: WHOOGLE_PROXY_LOC + description: See upstream app documentation + WHOOGLE_PROXY_PASS: + name: WHOOGLE_PROXY_PASS + description: See upstream app documentation + WHOOGLE_PROXY_TYPE: + name: WHOOGLE_PROXY_TYPE + description: See upstream app documentation + WHOOGLE_PROXY_USER: + name: WHOOGLE_PROXY_USER + description: See upstream app documentation + WHOOGLE_RESULTS_PER_PAGE: + name: WHOOGLE_RESULTS_PER_PAGE + description: See upstream app documentation + WHOOGLE_USER: + name: WHOOGLE_USER + description: See upstream app documentation + wildcard: + name: wildcard + description: See upstream app documentation" + MAILER_HOST: + name: MAILER_HOST + description: See upstream app documentation + MAILER_NOREPLY_EMAIL: + name: MAILER_NOREPLY_EMAIL + description: See upstream app documentation + MAILER_NOREPLY_NAME: + name: MAILER_NOREPLY_NAME + description: See upstream app documentation + MAILER_PORT: + name: MAILER_PORT + description: See upstream app documentation + MAILER_SECURITY: + name: MAILER_SECURITY + description: See upstream app documentation + maxmem: + name: maxmem + description: See upstream app documentation + Mode: + name: Mode + description: See upstream app documentation + mqtt_autodiscover: + name: mqtt_autodiscover + description: See upstream app documentation + networkdisks: + name: networkdisks + description: list of smb servers to mount, separated by commas (//xxx.xx.xx.xx/share) + NoAuth: + name: NoAuth + description: See upstream app documentation + NORDIGEN_ID: + name: NORDIGEN_ID + description: See upstream app documentation + NORDIGEN_KEY: + name: NORDIGEN_KEY + description: See upstream app documentation + OAUTHLIB_RELAX_TOKEN_SCOPE: + name: OAUTHLIB_RELAX_TOKEN_SCOPE + description: See upstream app documentation + OCR: + name: OCR + description: See upstream app documentation + ocrlang: + name: ocrlang + description: See upstream app documentation + openvpn_alt_mode: + name: openvpn_alt_mode + description: bind at container level and not app level + openvpn_config: + name: openvpn_config + description: for example ""config.ovpn"" # name of the file located in /config/openvpn + OPENVPN_CUSTOM_PROVIDER: + name: OPENVPN_CUSTOM_PROVIDER + description: See upstream app documentation + OPENVPN_CUSTOM_PROVIDER_OVPN_LOCATION: + name: OPENVPN_CUSTOM_PROVIDER_OVPN_LOCATION + description: See upstream app documentation + openvpn_enabled: + name: openvpn_enabled + description: See upstream app documentation + OPENVPN_PASSWORD: + name: OPENVPN_PASSWORD + description: See upstream app documentation