From 143fc8f6019aafa8e93159e39e596bd3e99dcb02 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Sat, 4 Dec 2021 16:34:17 +0100 Subject: [PATCH] removed --- jellyfin_test/CHANGELOG.md | 38 ------- jellyfin_test/Dockerfile | 67 ------------ jellyfin_test/README.md | 46 --------- jellyfin_test/apparmor.txt | 49 --------- jellyfin_test/build.json | 8 -- jellyfin_test/config.json | 84 --------------- jellyfin_test/icon.png | Bin 29817 -> 0 bytes jellyfin_test/logo.png | Bin 29817 -> 0 bytes .../cont-init.d/00-aaa_dockerfile_backup.sh | 37 ------- .../root/etc/cont-init.d/00-banner.sh | 40 -------- jellyfin_test/root/etc/cont-init.d/00-ha-env | 5 - jellyfin_test/root/etc/cont-init.d/20-folders | 86 ---------------- .../root/etc/cont-init.d/32-nginx.sh | 32 ------ .../root/etc/cont-init.d/92-smb_mounts.sh | 83 --------------- .../root/etc/nginx/includes/mime.types | 96 ------------------ .../root/etc/nginx/includes/proxy_params.conf | 15 --- .../root/etc/nginx/includes/resolver.conf | 1 - .../etc/nginx/includes/server_params.conf | 6 -- .../root/etc/nginx/includes/ssl_params.conf | 9 -- .../root/etc/nginx/includes/upstream.conf | 3 - jellyfin_test/root/etc/nginx/nginx.conf | 56 ---------- .../root/etc/nginx/servers/ingress.conf | 24 ----- .../root/etc/services.d/nginx/finish | 8 -- jellyfin_test/root/etc/services.d/nginx/run | 9 -- 24 files changed, 802 deletions(-) delete mode 100644 jellyfin_test/CHANGELOG.md delete mode 100644 jellyfin_test/Dockerfile delete mode 100644 jellyfin_test/README.md delete mode 100644 jellyfin_test/apparmor.txt delete mode 100644 jellyfin_test/build.json delete mode 100644 jellyfin_test/config.json delete mode 100644 jellyfin_test/icon.png delete mode 100644 jellyfin_test/logo.png delete mode 100644 jellyfin_test/root/etc/cont-init.d/00-aaa_dockerfile_backup.sh delete mode 100644 jellyfin_test/root/etc/cont-init.d/00-banner.sh delete mode 100644 jellyfin_test/root/etc/cont-init.d/00-ha-env delete mode 100644 jellyfin_test/root/etc/cont-init.d/20-folders delete mode 100644 jellyfin_test/root/etc/cont-init.d/32-nginx.sh delete mode 100644 jellyfin_test/root/etc/cont-init.d/92-smb_mounts.sh delete mode 100644 jellyfin_test/root/etc/nginx/includes/mime.types delete mode 100644 jellyfin_test/root/etc/nginx/includes/proxy_params.conf delete mode 100644 jellyfin_test/root/etc/nginx/includes/resolver.conf delete mode 100644 jellyfin_test/root/etc/nginx/includes/server_params.conf delete mode 100644 jellyfin_test/root/etc/nginx/includes/ssl_params.conf delete mode 100644 jellyfin_test/root/etc/nginx/includes/upstream.conf delete mode 100644 jellyfin_test/root/etc/nginx/nginx.conf delete mode 100644 jellyfin_test/root/etc/nginx/servers/ingress.conf delete mode 100644 jellyfin_test/root/etc/services.d/nginx/finish delete mode 100644 jellyfin_test/root/etc/services.d/nginx/run diff --git a/jellyfin_test/CHANGELOG.md b/jellyfin_test/CHANGELOG.md deleted file mode 100644 index 23d206078..000000000 --- a/jellyfin_test/CHANGELOG.md +++ /dev/null @@ -1,38 +0,0 @@ -- Added watchdog feature -- Allow mounting of devices up to sdg2 -- Improve SMB mount code to v1.5 ; accepts several network disks separated by commas (//123.12.12.12/share,//123.12.12.12/hello) that are mount to /mnt/$sharename - -## 10.7.7-1-ls130 (06-09-2021) - -- Update to latest version from linuxserver/docker-jellyfin - -## 10.7.6-1-ls118 (19-06-2021) - -- Update to latest version from linuxserver/docker-jellyfin - -## 10.7.5-1-ls113 (20-05-2021) - -- Update to latest version from linuxserver/docker-jellyfin -- Add banner to log - -## 10.7.5-1-ls112 (14-05-2021) - -- Update to latest version from linuxserver/docker-jellyfin - -## 10.7.5-1-ls111 (06-05-2021) - -- Update to latest version from linuxserver/docker-jellyfin - -## 10.7.2-1-ls110 (30-04-2021) - -- Update to latest version from linuxserver/docker-jellyfin - -## 10.7.2-1-ls109 - -- Update to latest version from linuxserver/docker-jellyfin -- Enables PUID/GUID options -- New feature : mount smb share in protected mode -- New feature : mount multiple smb shares -- New config/feature : mount smbv1 -- Changed path : changed smb mount path from /storage/externalcifs to /mnt/$NAS name -- Removed feature : ability to remove protection and mount local hdd, to increase the addon score diff --git a/jellyfin_test/Dockerfile b/jellyfin_test/Dockerfile deleted file mode 100644 index 4cb618b60..000000000 --- a/jellyfin_test/Dockerfile +++ /dev/null @@ -1,67 +0,0 @@ -ARG BUILD_FROM -ARG BUILD_VERSION -FROM ${BUILD_FROM} - -# Set shell -SHELL ["/bin/bash", "-o", "pipefail", "-c"] -ARG BASHIO_VERSION=0.14.3 - -RUN apt-get update \ - \ - && apt-get install -y --no-install-recommends \ - jq \ - samba \ - smbclient \ - nginx \ - \ - && apt-get -y upgrade cifs-utils \ - \ - ################## - # Install bashio # - ################## - && mkdir -p /tmp/bashio \ - && curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" \ - | tar -xzf - --strip 1 -C /tmp/bashio \ - && mv /tmp/bashio/lib /usr/lib/bashio \ - && ln -s /usr/lib/bashio/bashio /usr/bin/bashio \ - && rm -rf /tmp/bashio \ - \ - # Allow UID and GID setting - && sed -i 's/bash/bashio/g' /etc/cont-init.d/10-adduser \ - && sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' /etc/cont-init.d/10-adduser \ - && sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' /etc/cont-init.d/10-adduser \ - && sed -i "s|/config|/config/jellyfin|g" /etc/services.d/jellyfin/run \ - && sed -i "s|/config|/config/jellyfin|g" /etc/cont-init.d/10-adduser \ - && sed -i "s|/config|/config/jellyfin|g" /etc/cont-init.d/30-config \ - && chmod g+rw /dev/video10 /dev/video11 /dev/video12 /dev/video13 /dev/video14 /dev/video15 /dev/video16 \ - || true - -# copy local files -COPY root/ / - -### 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} diff --git a/jellyfin_test/README.md b/jellyfin_test/README.md deleted file mode 100644 index b7d2e7b91..000000000 --- a/jellyfin_test/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Home assistant add-on: jellyfin - -[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium) - -[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white - -![Supports - Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] - -_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://reporoster.com/stars/alexbelgium/hassio-addons)](https://github.com/alexbelgium/hassio-addons/stargazers) - -## About - -Forked to add latest beta versions, smb and local hdd mount. - -- Inital version : https://github.com/petersendev/hassio-addons -- CIFS code : https://github.com/dianlight/hassio-addons - -[jellyfin](https://jellyfin.media/) organizes video, music, live TV, and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. This container is packaged as a standalone jellyfin Media Server. - -This addon is based on the [docker image](https://github.com/linuxserver/docker-jellyfin) from linuxserver.io. - -## 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. - -## Configuration - -Webui can be found at `:8096`. - -[smb-shield]: https://img.shields.io/badge/SMB--green?style=plastic.svg -[repository]: https://github.com/alexbelgium/hassio-addons -[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg -[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg -[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg -[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg diff --git a/jellyfin_test/apparmor.txt b/jellyfin_test/apparmor.txt deleted file mode 100644 index f7ee4ef2b..000000000 --- a/jellyfin_test/apparmor.txt +++ /dev/null @@ -1,49 +0,0 @@ -#include - -profile addon_db21ed7f_jellyfin_nas flags=(attach_disconnected,mediate_deleted) { - #include - - capability, - file, - mount, - umount, - remount, - - capability setgid, - capability setuid, - capability sys_admin, - capability dac_read_search, - # capability dac_override, - # capability sys_rawio, - -# S6-Overlay - /bin/** ix, - /usr/bin/** ix, - /usr/lib/bashio/** ix, - /etc/s6/** rix, - /run/s6/** rix, - /etc/services.d/** rwix, - /etc/cont-init.d/** rwix, - /etc/cont-finish.d/** rwix, - /init rix, - /var/run/** mrwkl, - /var/run/ mrwkl, - /dev/i2c-1 mrwkl, - # Files required - /dev/sda1 mrwkl, - /dev/sdb1 mrwkl, - /dev/mmcblk0p1 mrwkl, - /dev/ttyUSB0 mrwkl, - /dev/* mrwkl, - /tmp/** mrkwl, - - # Data access - /data/** rw, - - # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container - ptrace (trace,read) peer=docker-default, - - # docker daemon confinement requires explict allow rule for signal - signal (receive) set=(kill,term) peer=/usr/bin/docker, - -} diff --git a/jellyfin_test/build.json b/jellyfin_test/build.json deleted file mode 100644 index ebde6af63..000000000 --- a/jellyfin_test/build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "build_from": { - "armv7": "linuxserver/jellyfin:arm32v7-latest", - "armhf": "linuxserver/jellyfin:arm32v7-latest", - "aarch64": "linuxserver/jellyfin:arm64v8-latest", - "amd64": "linuxserver/jellyfin:amd64-latest" - } -} diff --git a/jellyfin_test/config.json b/jellyfin_test/config.json deleted file mode 100644 index 31507f0b3..000000000 --- a/jellyfin_test/config.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "apparmor": true, - "arch": ["aarch64", "amd64", "armv7", "armhf"], - "boot": "auto", - "description": "A Free Software Media System that puts you in control of managing and streaming your media.", - "devices": [ - "/dev/ttyUSB0", - "/dev/dri", - "/dev/video10", - "/dev/video11", - "/dev/video12", - "/dev/video13", - "/dev/video14", - "/dev/video15", - "/dev/video16", - "/dev/sda", - "/dev/sdb", - "/dev/sdc", - "/dev/sdd", - "/dev/sde", - "/dev/sdf", - "/dev/sdg", - "/dev/nvme", - "/dev/mmcblk", - "/dev/sda1", - "/dev/sdb1", - "/dev/sdc1", - "/dev/sdd1", - "/dev/sde1", - "/dev/sdf1", - "/dev/sdg1", - "/dev/sda2", - "/dev/sdb2", - "/dev/sdc2", - "/dev/sdd2", - "/dev/sde2", - "/dev/sdf2", - "/dev/sdg2", - "/dev/nvme0", - "/dev/nvme1", - "/dev/nvme2", - "/dev/mmcblk0", - "/dev/mmcblk0p1" - ], - "map": ["config:rw", "share:rw", "media:rw", "ssl"], - "name": "Jellyfin_test DO NOT USE", - "host_dbus": true, - "ingress": true, - "ingress_port": 8099, - "panel_icon": "mdi:jellyfin", - "options": { - "PUID": 0, - "PGID": 0 - }, - "ports": { - "8096/tcp": 8096, - "8920/tcp": 8920, - "7359/udp": null, - "1900/udp": null - }, - "ports_description": { - "8096/tcp": "web interface", - "8920/tcp": "https web interface (optional)", - "7359/udp": "udp server discover (optional)", - "1900/udp": "dlna (optional)" - }, - "privileged": ["SYS_ADMIN", "DAC_READ_SEARCH", "NET_ADMIN"], - "schema": { - "PUID": "int", - "PGID": "int", - "TZ": "str?", - "networkdisks": "str?", - "cifsusername": "str?", - "cifspassword": "str?", - "smbv1": "bool?" - }, - "slug": "jellyfin_test", - "startup": "services", - "upstream": "10.7.7-1-ls130", - "url": "https://github.com/alexbelgium/hassio-addons", - "version": "10.7.7-1-ls130-4", - "watchdog": "http://[HOST]:[PORT:8096]", - "webui": "http://[HOST]:[PORT:8096]" -} diff --git a/jellyfin_test/icon.png b/jellyfin_test/icon.png deleted file mode 100644 index c0bc8260583e10ff30e75d4073d20b7c627d1719..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29817 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 diff --git a/jellyfin_test/logo.png b/jellyfin_test/logo.png deleted file mode 100644 index c0bc8260583e10ff30e75d4073d20b7c627d1719..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29817 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 diff --git a/jellyfin_test/root/etc/cont-init.d/00-aaa_dockerfile_backup.sh b/jellyfin_test/root/etc/cont-init.d/00-aaa_dockerfile_backup.sh deleted file mode 100644 index c0475abfe..000000000 --- a/jellyfin_test/root/etc/cont-init.d/00-aaa_dockerfile_backup.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -# If dockerfile failed install manually -if [ ! -f "/usr/bin/bashio" ]; then - echo "Bashio does not exist, executing script" - ( - ################ - # Install apps # - ################ - apt-get update - apt-get install -y --no-install-recommends \ - jq \ - samba \ - smbclient \ - nginx - apt-get -y upgrade cifs-utils - - # Allow UID and GID setting - sed -i 's/bash/bashio/g' /etc/cont-init.d/10-adduser - sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' /etc/cont-init.d/10-adduser - sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' /etc/cont-init.d/10-adduser - sed -i "s|/config|/config/jellyfin|g" /etc/services.d/jellyfin/run - sed -i "s|/config|/config/jellyfin|g" /etc/cont-init.d/10-adduser - sed -i "s|/config|/config/jellyfin|g" /etc/cont-init.d/30-config - - ################### - # Install bashio # - ################## - BASHIO_VERSION=0.14.3 - mkdir -p /tmp/bashio - curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" | - tar -xzf - --strip 1 -C /tmp/bashio - mv /tmp/bashio/lib /usr/lib/bashio - ln -s /usr/lib/bashio/bashio /usr/bin/bashio - rm -rf /tmp/bashio - ) >/dev/null - -fi diff --git a/jellyfin_test/root/etc/cont-init.d/00-banner.sh b/jellyfin_test/root/etc/cont-init.d/00-banner.sh deleted file mode 100644 index f0c4ef9dd..000000000 --- a/jellyfin_test/root/etc/cont-init.d/00-banner.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/with-contenv bashio - -# ============================================================================== -# Displays a simple add-on banner on startup -# ============================================================================== - -if bashio::supervisor.ping; then - bashio::log.blue \ - '-----------------------------------------------------------' - bashio::log.blue " Add-on: $(bashio::addon.name)" - bashio::log.blue " $(bashio::addon.description)" - bashio::log.blue \ - '-----------------------------------------------------------' - - bashio::log.blue " Add-on version: $(bashio::addon.version)" - if bashio::var.true "$(bashio::addon.update_available)"; then - bashio::log.magenta ' There is an update available for this add-on!' - bashio::log.magenta \ - " Latest add-on version: $(bashio::addon.version_latest)" - bashio::log.magenta ' Please consider upgrading as soon as possible.' - else - bashio::log.green ' You are running the latest version of this add-on.' - fi - - bashio::log.blue " System: $(bashio::info.operating_system)" \ - " ($(bashio::info.arch) / $(bashio::info.machine))" - bashio::log.blue " Home Assistant Core: $(bashio::info.homeassistant)" - bashio::log.blue " Home Assistant Supervisor: $(bashio::info.supervisor)" - - bashio::log.blue \ - '-----------------------------------------------------------' - bashio::log.blue \ - ' Please, share the above information when looking for help' - bashio::log.blue \ - ' or support in, e.g., GitHub, forums' - bashio::log.green \ - ' https://github.com/alexbelgium/hassio-addons' - bashio::log.blue \ - '-----------------------------------------------------------' -fi diff --git a/jellyfin_test/root/etc/cont-init.d/00-ha-env b/jellyfin_test/root/etc/cont-init.d/00-ha-env deleted file mode 100644 index 3b3e69246..000000000 --- a/jellyfin_test/root/etc/cont-init.d/00-ha-env +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/with-contenv bashio - -for k in $(bashio::jq "${__BASHIO_ADDON_CONFIG}" 'keys | .[]'); do - printf "$(bashio::config $k)" > /var/run/s6/container_environment/$k -done \ No newline at end of file diff --git a/jellyfin_test/root/etc/cont-init.d/20-folders b/jellyfin_test/root/etc/cont-init.d/20-folders deleted file mode 100644 index c13d1313b..000000000 --- a/jellyfin_test/root/etc/cont-init.d/20-folders +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/with-contenv bash - -echo "chmod of devices" -chmod g+rw /dev/video10 /dev/video11 /dev/video12 /dev/video13 /dev/video14 /dev/video15 /dev/video16 - - -if [ ! -d /jellyfin ]; then - echo "Creating /jellyfin" - mkdir -p /jellyfin - chown -R abc:abc /jellyfin -fi - -if [ ! -d /share/storage/tv ]; then - echo "Creating /share/storage/tv" - mkdir -p /share/storage/tv - chown -R abc:abc /share/storage/tv -fi - -if [ ! -d /share/storage/movies ]; then - echo "Creating /share/storage/movies" - mkdir -p /share/storage/movies - chown -R abc:abc /share/storage/movies -fi - -if [ ! -d /share/jellyfin ]; then - echo "Creating /share/jellyfin" - mkdir -p /share/jellyfin - chown -R abc:abc /share/jellyfin -fi - -if [ ! -d /config/jellyfin ]; then - echo "Creating /config/jellyfin" - mkdir -p /config/jellyfin - chown -R abc:abc /config/jellyfin -fi - -# links - -if [ ! -d /jellyfin/cache ]; then - echo "Creating link for /jellyfin/cache" - mkdir -p /share/jellyfin/cache - chown -R abc:abc /share/jellyfin/cache - ln -s /share/jellyfin/cache /jellyfin/cache -fi - -if [ ! -d /jellyfin/config ]; then - echo "Creating link for /jellyfin/config" - mkdir -p /config/jellyfin - chown -R abc:abc /config/jellyfin - ln -s /config/jellyfin /jellyfin/config -fi - -if [ ! -d /jellyfin/data ]; then - echo "Creating link for /jellyfin/data" - mkdir -p /share/jellyfin/data - chown -R abc:abc /share/jellyfin/data - ln -s /share/jellyfin/data /jellyfin/data -fi - -if [ ! -d /jellyfin/logs ]; then - echo "Creating link for /jellyfin/logs" - mkdir -p /share/jellyfin/logs - chown -R abc:abc /share/jellyfin/logs - ln -s /share/jellyfin/logs /jellyfin/logs -fi - -if [ ! -d /jellyfin/metadata ]; then - echo "Creating link for /jellyfin/metadata" - mkdir -p /share/jellyfin/metadata - chown -R abc:abc /share/jellyfin/metadata - ln -s /share/jellyfin/metadata /jellyfin/metadata -fi - -if [ ! -d /jellyfin/plugins ]; then - echo "Creating link for /jellyfin/plugins" - mkdir -p /share/jellyfin/plugins - chown -R abc:abc /share/jellyfin/plugins - ln -s /share/jellyfin/plugins /jellyfin/plugins -fi - -if [ ! -d /jellyfin/root ]; then - echo "Creating link for /jellyfin/root" - mkdir -p /share/jellyfin/root - chown -R abc:abc /share/jellyfin/root - ln -s /share/jellyfin/root /jellyfin/root -fi diff --git a/jellyfin_test/root/etc/cont-init.d/32-nginx.sh b/jellyfin_test/root/etc/cont-init.d/32-nginx.sh deleted file mode 100644 index 4204ba072..000000000 --- a/jellyfin_test/root/etc/cont-init.d/32-nginx.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/with-contenv bashio - -################# -# NGINX SETTING # -################# -declare port -declare certfile -declare ingress_interface -declare ingress_port -declare keyfile - -port=$(bashio::addon.port 80) -if bashio::var.has_value "${port}"; then - bashio::config.require.ssl - - if bashio::config.true 'ssl'; then - certfile=$(bashio::config 'certfile') - keyfile=$(bashio::config 'keyfile') - - mv /etc/nginx/servers/direct-ssl.disabled /etc/nginx/servers/direct.conf - sed -i "s/%%certfile%%/${certfile}/g" /etc/nginx/servers/direct.conf - sed -i "s/%%keyfile%%/${keyfile}/g" /etc/nginx/servers/direct.conf - - else - mv /etc/nginx/servers/direct.disabled /etc/nginx/servers/direct.conf - fi -fi - -ingress_port=$(bashio::addon.ingress_port) -ingress_interface=$(bashio::addon.ip_address) -sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf -sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf diff --git a/jellyfin_test/root/etc/cont-init.d/92-smb_mounts.sh b/jellyfin_test/root/etc/cont-init.d/92-smb_mounts.sh deleted file mode 100644 index 06410e554..000000000 --- a/jellyfin_test/root/etc/cont-init.d/92-smb_mounts.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/with-contenv bashio - -######################### -# MOUNT SMB SHARES v1.6 # -######################### -if bashio::config.has_value 'networkdisks'; then - - # Define variables - MOREDISKS=$(bashio::config 'networkdisks') - CIFS_USERNAME=$(bashio::config 'cifsusername') - CIFS_PASSWORD=$(bashio::config 'cifspassword') - MOUNTED=false - SMBVERS="" - SECVERS="" - - # Mount CIFS Share if configured and if Protection Mode is active - echo 'Mounting smb share(s)...' - - if bashio::config.has_value 'cifsdomain'; then - DOMAIN=",domain=$(bashio::config 'cifsdomain')" - else - DOMAIN="" - fi - - # Mounting disks - for disk in ${MOREDISKS//,/ }; do # Separate comma separated values - - # Clean name of network share - disk=$(echo $disk | sed "s,/$,,") # Remove / at end of name - diskname=${disk//\\//} #replace \ with / - diskname=${diskname##*/} # Get only last part of the name - - # Data validation - if [[ ! $disk =~ ^.*+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+[/]+.*+$ ]]; then - bashio::log.fatal "The structure of your \"networkdisks\" option : \"$disk\" doesn't seem correct, please use a structure like //123.12.12.12/sharedfolder,//123.12.12.12/sharedfolder2. If you don't use it, you can simply remove the text, this will avoid this error message in the future." - exit 0 - fi - - # Prepare mount point - mkdir -p /mnt/$diskname - chown -R root:root /mnt/$diskname - - #Tries to mount with default options - mount -t cifs -o rw,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$DOMAIN $disk /mnt/$diskname 2>ERRORCODE && MOUNTED=true || MOUNTED=false - - # if Fail test different smb and sec versions - if [ $MOUNTED = false ]; then - for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",${DOMAIN:-WORKGROUP}"; do - mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS $disk /mnt/$diskname 2>/dev/null && MOUNTED=true && break || MOUNTED=false - for SECVERS in ",sec=ntlmi" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=ntlm" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8"; do - mount -t cifs -o rw,file_mode=0777,dir_mode=0777,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS $disk /mnt/$disk name 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false - done - done - fi - - # Messages - if [ $MOUNTED = true ] && [ "mountpoint -q /mnt/$diskname" ]; then - #Test write permissions - touch /mnt/$diskname/testaze && rm /mnt/$diskname/testaze && - bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" || - bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw" - - else - # Mounting failed messages - bashio::log.fatal "Error, unable to mount $disk to /mnt/$diskname with username $CIFS_USERNAME, $CIFS_PASSWORD. Please check your remote share path, username, password, domain, try putting 0 in UID and GID" - bashio::log.fatal "Here is some debugging info :" - - # Provide debugging info - smbclient -V &>/dev/null || apt-get install smbclient || apk add --no-cache samba-client - #smbclient $disk -U $CIFS_USERNAME%$CIFS_PASSWORD || true - smbclient -L $disk -U $CIFS_USERNAME%$CIFS_PASSWORD || true - - # Error code - bashio::log.fatal "Error read : $(/dev/null || true - rmdir /mnt/$diskname || true - fi - - done -fi diff --git a/jellyfin_test/root/etc/nginx/includes/mime.types b/jellyfin_test/root/etc/nginx/includes/mime.types deleted file mode 100644 index 7c7cdef2d..000000000 --- a/jellyfin_test/root/etc/nginx/includes/mime.types +++ /dev/null @@ -1,96 +0,0 @@ -types { - text/html html htm shtml; - text/css css; - text/xml xml; - image/gif gif; - image/jpeg jpeg jpg; - application/javascript js; - application/atom+xml atom; - application/rss+xml rss; - - text/mathml mml; - text/plain txt; - text/vnd.sun.j2me.app-descriptor jad; - text/vnd.wap.wml wml; - text/x-component htc; - - image/png png; - image/svg+xml svg svgz; - image/tiff tif tiff; - image/vnd.wap.wbmp wbmp; - image/webp webp; - image/x-icon ico; - image/x-jng jng; - image/x-ms-bmp bmp; - - font/woff woff; - font/woff2 woff2; - - application/java-archive jar war ear; - application/json json; - application/mac-binhex40 hqx; - application/msword doc; - application/pdf pdf; - application/postscript ps eps ai; - application/rtf rtf; - application/vnd.apple.mpegurl m3u8; - application/vnd.google-earth.kml+xml kml; - application/vnd.google-earth.kmz kmz; - application/vnd.ms-excel xls; - application/vnd.ms-fontobject eot; - application/vnd.ms-powerpoint ppt; - application/vnd.oasis.opendocument.graphics odg; - application/vnd.oasis.opendocument.presentation odp; - application/vnd.oasis.opendocument.spreadsheet ods; - application/vnd.oasis.opendocument.text odt; - application/vnd.openxmlformats-officedocument.presentationml.presentation - pptx; - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - xlsx; - application/vnd.openxmlformats-officedocument.wordprocessingml.document - docx; - application/vnd.wap.wmlc wmlc; - application/x-7z-compressed 7z; - application/x-cocoa cco; - application/x-java-archive-diff jardiff; - application/x-java-jnlp-file jnlp; - application/x-makeself run; - application/x-perl pl pm; - application/x-pilot prc pdb; - application/x-rar-compressed rar; - application/x-redhat-package-manager rpm; - application/x-sea sea; - application/x-shockwave-flash swf; - application/x-stuffit sit; - application/x-tcl tcl tk; - application/x-x509-ca-cert der pem crt; - application/x-xpinstall xpi; - application/xhtml+xml xhtml; - application/xspf+xml xspf; - application/zip zip; - - application/octet-stream bin exe dll; - application/octet-stream deb; - application/octet-stream dmg; - application/octet-stream iso img; - application/octet-stream msi msp msm; - - audio/midi mid midi kar; - audio/mpeg mp3; - audio/ogg ogg; - audio/x-m4a m4a; - audio/x-realaudio ra; - - video/3gpp 3gpp 3gp; - video/mp2t ts; - video/mp4 mp4; - video/mpeg mpeg mpg; - video/quicktime mov; - video/webm webm; - video/x-flv flv; - video/x-m4v m4v; - video/x-mng mng; - video/x-ms-asf asx asf; - video/x-ms-wmv wmv; - video/x-msvideo avi; -} diff --git a/jellyfin_test/root/etc/nginx/includes/proxy_params.conf b/jellyfin_test/root/etc/nginx/includes/proxy_params.conf deleted file mode 100644 index 1990d4959..000000000 --- a/jellyfin_test/root/etc/nginx/includes/proxy_params.conf +++ /dev/null @@ -1,15 +0,0 @@ -proxy_http_version 1.1; -proxy_ignore_client_abort off; -proxy_read_timeout 86400s; -proxy_redirect off; -proxy_send_timeout 86400s; -proxy_max_temp_file_size 0; - -proxy_set_header Accept-Encoding ""; -proxy_set_header Connection $connection_upgrade; -proxy_set_header Host $http_host; -proxy_set_header Upgrade $http_upgrade; -proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; -proxy_set_header X-Forwarded-Proto $scheme; -proxy_set_header X-NginX-Proxy true; -proxy_set_header X-Real-IP $remote_addr; diff --git a/jellyfin_test/root/etc/nginx/includes/resolver.conf b/jellyfin_test/root/etc/nginx/includes/resolver.conf deleted file mode 100644 index 6485af141..000000000 --- a/jellyfin_test/root/etc/nginx/includes/resolver.conf +++ /dev/null @@ -1 +0,0 @@ -resolver 127.0.0.11; diff --git a/jellyfin_test/root/etc/nginx/includes/server_params.conf b/jellyfin_test/root/etc/nginx/includes/server_params.conf deleted file mode 100644 index 09c06543e..000000000 --- a/jellyfin_test/root/etc/nginx/includes/server_params.conf +++ /dev/null @@ -1,6 +0,0 @@ -root /dev/null; -server_name $hostname; - -add_header X-Content-Type-Options nosniff; -add_header X-XSS-Protection "1; mode=block"; -add_header X-Robots-Tag none; diff --git a/jellyfin_test/root/etc/nginx/includes/ssl_params.conf b/jellyfin_test/root/etc/nginx/includes/ssl_params.conf deleted file mode 100644 index 6f1500599..000000000 --- a/jellyfin_test/root/etc/nginx/includes/ssl_params.conf +++ /dev/null @@ -1,9 +0,0 @@ -ssl_protocols TLSv1.2; -ssl_prefer_server_ciphers on; -ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA; -ssl_ecdh_curve secp384r1; -ssl_session_timeout 10m; -ssl_session_cache shared:SSL:10m; -ssl_session_tickets off; -ssl_stapling on; -ssl_stapling_verify on; diff --git a/jellyfin_test/root/etc/nginx/includes/upstream.conf b/jellyfin_test/root/etc/nginx/includes/upstream.conf deleted file mode 100644 index a640ef18c..000000000 --- a/jellyfin_test/root/etc/nginx/includes/upstream.conf +++ /dev/null @@ -1,3 +0,0 @@ -upstream backend { - server 127.0.0.1:8096; -} diff --git a/jellyfin_test/root/etc/nginx/nginx.conf b/jellyfin_test/root/etc/nginx/nginx.conf deleted file mode 100644 index 7e5bc6f7c..000000000 --- a/jellyfin_test/root/etc/nginx/nginx.conf +++ /dev/null @@ -1,56 +0,0 @@ -# Run nginx in foreground. -daemon off; - -# This is run inside Docker. -user root; - -# Pid storage location. -pid /var/run/nginx.pid; - -# Set number of worker processes. -worker_processes 1; - -# Enables the use of JIT for regular expressions to speed-up their processing. -pcre_jit on; - -# Write error log to Hass.io add-on log. -error_log /proc/1/fd/1 error; - -# Load allowed environment vars -env HASSIO_TOKEN; - -# Load dynamic modules. -include /etc/nginx/modules/*.conf; - -# Max num of simultaneous connections by a worker process. -events { - worker_connections 512; -} - -http { - include /etc/nginx/includes/mime.types; - - log_format hassio '[$time_local] $status ' - '$http_x_forwarded_for($remote_addr) ' - '$request ($http_user_agent)'; - - access_log /proc/1/fd/1 hassio; - client_max_body_size 4G; - default_type application/octet-stream; - gzip on; - keepalive_timeout 65; - sendfile on; - server_tokens off; - tcp_nodelay on; - tcp_nopush on; - - map $http_upgrade $connection_upgrade { - default upgrade; - '' close; - } - - include /etc/nginx/includes/resolver.conf; - include /etc/nginx/includes/upstream.conf; - - include /etc/nginx/servers/*.conf; -} diff --git a/jellyfin_test/root/etc/nginx/servers/ingress.conf b/jellyfin_test/root/etc/nginx/servers/ingress.conf deleted file mode 100644 index 585171939..000000000 --- a/jellyfin_test/root/etc/nginx/servers/ingress.conf +++ /dev/null @@ -1,24 +0,0 @@ -server { - listen %%interface%%:%%port%% default_server; - - include /etc/nginx/includes/server_params.conf; - include /etc/nginx/includes/proxy_params.conf; - - client_max_body_size 0; - - location / { - proxy_pass http://127.0.0.1:8096/; -proxy_pass_request_headers on; -proxy_set_header Host $host; -proxy_set_header X-Real-IP $remote_addr; -proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; -proxy_set_header X-Forwarded-Proto $scheme; -proxy_set_header X-Forwarded-Host $http_host; -proxy_set_header Upgrade $http_upgrade; -proxy_set_header Connection $http_connection; -# Disable buffering when the nginx proxy gets very resource heavy upon streaming -proxy_buffering off; - - } - -} diff --git a/jellyfin_test/root/etc/services.d/nginx/finish b/jellyfin_test/root/etc/services.d/nginx/finish deleted file mode 100644 index 444240135..000000000 --- a/jellyfin_test/root/etc/services.d/nginx/finish +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/execlineb -S0 -# ============================================================================== -# Take down the S6 supervision tree when Nginx fails -# ============================================================================== -if { s6-test ${1} -ne 0 } -if { s6-test ${1} -ne 256 } - -s6-svscanctl -t /var/run/s6/services diff --git a/jellyfin_test/root/etc/services.d/nginx/run b/jellyfin_test/root/etc/services.d/nginx/run deleted file mode 100644 index 6baa32ea5..000000000 --- a/jellyfin_test/root/etc/services.d/nginx/run +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== - -# Wait for transmission to become available -bashio::net.wait_for 8096 localhost 900 - -bashio::log.info "Starting NGinx..." - -exec nginx