diff --git a/README.md b/README.md index e6077b483..63a4fbfb5 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ A Free Software Media System that puts you in control of managing and streaming - Forked from : https://github.com/petersendev/hassio-addons - Modifications : switch to linuxserver beta versions, add smb and local disks mount -### [Transmission](transmission_ls/) +### [Transmission](transmission/) The torrent client for Hass.io. - Based on linuxserver image - Modifications : add smb and local disks mount, exposed settings.json in /share/transmission @@ -43,11 +43,6 @@ A free cross platform open source file manager with two panels side by side. Code-server is VS Code running on a remote server, accessible through the browser. - Based on latest linuxserver image -### [Transmission NAS](transmission_nas/) -The torrent client for Hass.io with OpenVPN support. -- Forked from : https://github.com/Alexwijn/hassio-addon-transmission -- Modifications : add smb and local disks mount - ### [Radarr NAS](radarr/) A fork of Sonarr to work with movies like Couchpotato - Forked from : https://github.com/petersendev/hassio-addons diff --git a/transmission/DOCS.md b/transmission/DOCS.md deleted file mode 100644 index 20f7eec14..000000000 --- a/transmission/DOCS.md +++ /dev/null @@ -1,127 +0,0 @@ -# Transmission addon for Hass.io - -The torrent client for Hass.io with OpenVPN support. - -## 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 https://github.com/pierrickrouxel/hassio-addon-transmission.git to your Hass.io instance as a repository. -1. Install the "Transmission" add-on. -1. Start the "Transmission" add-on. -1. Check the logs of the "Tranmission" to see if everything went well. -1. Open the web-ui - -## Configuration - -**Note**: _Remember to restart the add-on when the configuration is changed._ - -Transmission add-on configuration: - -```json -{ - "log_level": "info", - "authentication_required": false, - "username": "", - "password": "", - "openvpn_enabled": false, - "openvpn_config": "", - "openvpn_username": "", - "openvpn_password": "" -} -``` - -### Option: `log_level` - -The `log_level` option controls the level of log output by the addon and can -be changed to be more or less verbose, which might be useful when you are -dealing with an unknown issue. Possible values are: - -- `trace`: Show every detail, like all called internal functions. -- `debug`: Shows detailed debug information. -- `info`: Normal (usually) interesting events. -- `warning`: Exceptional occurrences that are not errors. -- `error`: Runtime errors that do not require immediate action. -- `fatal`: Something went terribly wrong. Add-on becomes unusable. - -Please note that each level automatically includes log messages from a -more severe level, e.g., `debug` also shows `info` messages. By default, -the `log_level` is set to `info`, which is the recommended setting unless -you are troubleshooting. - -### Option: `authentication_required` - -This option can be used to password protect the web-ui. - -### Option: `username` - -The username for authentication. - -### Option: `password` - -The password for authentication. - -### Option: `openvpn_enabled` - -Enable OpenVPN to anonymize your torrent activity. - -### Option: `openvpn_config` - -The name of .ovpn file. You should put it in `/config/openvpn`. - -### Option: `openvpn_username` - -Your OpenVPN username. - -### Option: `openvpn_password` - -Your OpenVPN password. - -## Embedding into Home Assistant - -This addon supports ingress, thus it can simply be integrated into Home Assistant without having to forward any additional ports. Here is an example configuration: - -```yaml -transmission: - host: f6fddefc-transmission -``` - -If you want, you can add an icon to the sidebar by toggling *Show in Sidebar* as well. - -## Changelog & Releases - -The format of the log is based on -[Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - -Releases are based on [Semantic Versioning](http://semver.org/spec/v2.0.0.html), and use the format -of ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented -based on the following: - -- ``MAJOR``: Incompatible or major changes. -- ``MINOR``: Backwards-compatible new features and enhancements. -- ``PATCH``: Backwards-compatible bugfixes and package updates. - -## License - -MIT License - -Copyright (c) 2018 Pierrick Rouxel - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/transmission/Dockerfile b/transmission/Dockerfile index 12187699c..db7056e8e 100644 --- a/transmission/Dockerfile +++ b/transmission/Dockerfile @@ -1,16 +1,9 @@ -ARG BUILD_FROM=hassioaddons/base:8.0.1 -# hadolint ignore=DL3006 -FROM ${BUILD_FROM} +ARG BUILD_FROM +FROM $BUILD_FROM # Copy root filesystem COPY rootfs / -# Setup base -RUN apk add --no-cache \ - coreutils \ - nginx \ - transmission-daemon \ - openvpn # Small hack needed for ingress support # # Transmission always uses "transmission" as a subdirectory in the URL, so the web interface can for instance be found at: @@ -34,26 +27,7 @@ RUN apk add --no-cache \ # when accessing transmission as usual, but stripping the relative part when using ingress. RUN sed -i 's|'"'"'\.\./rpc'"'"'|window.location.pathname.endsWith("/web/") ? "../rpc" : "rpc"|' /usr/share/transmission/web/javascript/remote.js -# Build arugments -ARG BUILD_ARCH -ARG BUILD_DATE -ARG BUILD_REF -ARG BUILD_VERSION +# MOFIFY DATA PATH +RUN sed -i "s|config|share/transmission|g" /etc/services.d/transmission/run -# Labels -LABEL \ - io.hass.name="Transmission" \ - io.hass.description="The torrent client for Hass.io with OpenVPN support" \ - io.hass.arch="${BUILD_ARCH}" \ - io.hass.type="addon" \ - io.hass.version=${BUILD_VERSION} \ - maintainer="Pierrick Rouxel " \ - org.label-schema.description="The torrent client for Hass.io" \ - org.label-schema.build-date=${BUILD_DATE} \ - org.label-schema.name="Transmission" \ - org.label-schema.schema-version="1.0" \ - org.label-schema.url="https://github.com/pierrickrouxel" \ - org.label-schema.usage="https://github.com/pierrickrouxel/hassio-addon-transmission/tree/master/README.md" \ - org.label-schema.vcs-ref=${BUILD_REF} \ - org.label-schema.vcs-url="https://github.com/pierrickrouxel" \ - org.label-schema.vendor="Community Hass.io Addons" +VOLUME [ "/data" ] diff --git a/transmission_ls/README.md b/transmission/README.md similarity index 100% rename from transmission_ls/README.md rename to transmission/README.md diff --git a/transmission/build.json b/transmission/build.json index f72e9866d..3aae1e955 100644 --- a/transmission/build.json +++ b/transmission/build.json @@ -1,11 +1,11 @@ { - "squash": false, "build_from": { - "aarch64": "hassioaddons/base-aarch64:latest", - "amd64": "hassioaddons/base-amd64:latest", - "armhf": "hassioaddons/base-armhf:latest", - "armv7": "hassioaddons/base-armv7:latest", - "i386": "hassioaddons/base-i386:latest" + "armv7": "linuxserver/transmission:arm32v7-3.00-r0-ls69", + "armhf": "linuxserver/transmission:arm32v7-3.00-r0-ls69", + "aarch64": "linuxserver/transmission:arm64v8-3.00-r0-ls69", + "amd64": "linuxserver/transmission:amd64-3.00-r0-ls69" }, + "squash": false, "args": {} } + diff --git a/transmission/config.json b/transmission/config.json index 891b50b47..ff35ef5e5 100644 --- a/transmission/config.json +++ b/transmission/config.json @@ -1,71 +1,59 @@ { - "name": "Transmission NAS (Pierre Rouxel)", - "version": "1.7", - "slug": "transmission", - "description": "The torrent client for Hass.io with OpenVPN support", - "url": "https://github.com/pierrickrouxel/hassio-addon-transmission", - "webui": "http://[HOST]:[PORT:9091]/transmission/web/", + "name": "Transmission NAS", + "version": "3.00-r0-ls69", + "slug": "transmission_ls", + "description": "Bittorrent client based on linuxserver image.", + "url": "https://github.com/alexbelgium/transmission_ls", "startup": "services", - "ingress": "true", - "ingress_port": 8099, - "panel_icon": "mdi:progress-download", - "panel_title": "Transmission", - "arch": ["armhf", "armv7", "aarch64", "amd64", "i386"], - "map": [ - "config:rw", - "share:rw", - "media:rw", - "ssl" - ], - "boot": "auto", - "ports": { - "9091/tcp": null, + "arch": [ + "aarch64", + "amd64", + "armv7", + "armhf" + ], + "ports": { + "9091/tcp": 9091, "51413/tcp": 51413, "51413/udp": 51413 }, "ports_description": { - "9091/tcp": "Web UI port (Not required for Hass.io Ingress)", - "51413/tcp": "Peer port (setup port forwarding to this port)", - "51413/udp": "Peer port (setup port forwarding to this port)" + "9091/tcp": "Web UI port (required)", + "51413/tcp": "Peer port (setup router port forwarding to this port)", + "51413/udp": "Peer port (setup router port forwarding to this port)" }, - "privileged": [ - "NET_ADMIN" - ], - "devices": [ - "/dev/net/tun:/dev/net/tun:rwm" - ], + "map": [ + "config:rw", + "share:rw", + "media:rw", + "ssl" + ], "privileged": ["SYS_ADMIN", "DAC_READ_SEARCH"], "full_access": true, - "hassio_api": true, - "homeassistant_api": false, - "host_network": false, - "options": { - "log_level": "info", - "authentication_required": false, - "username": "", - "password": "", - "localdisks": [""], - "openvpn_enabled": false, - "openvpn_config": "", - "openvpn_username": "", - "openvpn_password": "", - "download_dir": "/share/downloads", - "incomplete_dir": "/share/incomplete" - }, - "schema": { - "log_level": "match(^(trace|debug|info|notice|warning|error|fatal)$)", - "authentication_required": "bool", - "username": "str", - "password": "str", - "localdisks": ["str"], - "openvpn_enabled": "bool", - "openvpn_config": "str", - "openvpn_username": "str", - "openvpn_password": "str", - "download_dir": "str", - "incomplete_dir": "str" - }, - "environment": { - "LOG_FORMAT": "{LEVEL}: {MESSAGE}" - } + "webui": "http://[HOST]:[PORT:9091]", + "boot": "auto", + "environment": { + "PUID": 0, + "PGID": 0 + }, + "options": { + "PUID": 0, + "PGID": 0, + "download_dir": "/share/downloads", + "incomplete_dir": "/share/incomplete", + "localdisks": ["sda1"], + "networkdisks": "", + "cifsusername": "", + "cifspassword": "" + }, + "schema": { + "PUID": "int", + "PGID": "int", + "TZ": "str?", + "download_dir": "str", + "incomplete_dir": "str", + "localdisks": ["str"], + "networkdisks": "str", + "cifsusername": "str", + "cifspassword": "str" } +} diff --git a/transmission/rootfs/etc/cont-init.d/10-requirements.sh b/transmission/rootfs/etc/cont-init.d/10-requirements.sh deleted file mode 100644 index 835e65d51..000000000 --- a/transmission/rootfs/etc/cont-init.d/10-requirements.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== -# This files check if all user configuration requirements are met -# ============================================================================== - -# Check authentication requirements, if enabled -if bashio::config.true 'authentication_required'; then - if ! bashio::config.has_value 'username'; then - bashio::exit.nok 'Transmission authentication is enabled, but no username was specified' - fi - - if ! bashio::config.has_value 'password'; then - bashio::exit.nok 'Transmission authentication is enabled, but no password was specified' - fi -fi - -# Check OpenVPN requirements, if enabled -if bashio::config.true 'openvpn_enabled'; then - if ! bashio::config.has_value 'openvpn_username'; then - bashio::exit.nok 'OpenVPN is enabled, but no username was specified' - fi - - if ! bashio::config.has_value 'openvpn_password'; then - bashio::exit.nok 'OpenVPN is enabled, but no password was specified' - fi - - if ! bashio::fs.file_exists "/config/openvpn/$(bashio::config 'openvpn_config').ovpn"; then - bashio::exit.nok "The configured /config/openvpn/$(bashio::config 'openvpn_config').ovpn file is not found" - fi -fi diff --git a/transmission/rootfs/etc/cont-init.d/20-transmission-configuration.sh b/transmission/rootfs/etc/cont-init.d/20-transmission-configuration.sh index bb966c0c7..30ced20da 100644 --- a/transmission/rootfs/etc/cont-init.d/20-transmission-configuration.sh +++ b/transmission/rootfs/etc/cont-init.d/20-transmission-configuration.sh @@ -2,9 +2,6 @@ # ============================================================================== declare CONFIG -declare authentication_required -declare username -declare password declare incomplete_bool declare download_dir declare incomplete_dir @@ -21,28 +18,13 @@ CONFIG=$( /share/transmission/settings.json diff --git a/transmission/rootfs/etc/cont-init.d/21-openvpn-configuration.sh b/transmission/rootfs/etc/cont-init.d/21-openvpn-configuration.sh deleted file mode 100644 index d840cbaec..000000000 --- a/transmission/rootfs/etc/cont-init.d/21-openvpn-configuration.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== - -declare openvpn_config -declare openvpn_username -declare openvpn_password - -if bashio::config.true 'openvpn_enabled'; then - - openvpn_config=$(bashio::config 'openvpn_config') - - cp "/config/openvpn/${openvpn_config}.ovpn" /etc/openvpn/config.ovpn - - openvpn_username=$(bashio::config 'openvpn_username') - echo "${openvpn_username}" > /etc/openvpn/credentials - openvpn_password=$(bashio::config 'openvpn_password') - echo "${openvpn_password}" >> /etc/openvpn/credentials - - sed -i 's/auth-user-pass.*/auth-user-pass \/etc\/openvpn\/credentials/g' /etc/openvpn/config.ovpn - - sed -i "1a\/etc/openvpn/up-transmission.sh \"\${4}\" &\n" /etc/openvpn/up.sh - -fi diff --git a/transmission/rootfs/etc/cont-init.d/30-nginx.sh b/transmission/rootfs/etc/cont-init.d/30-nginx.sh deleted file mode 100644 index 54aff315b..000000000 --- a/transmission/rootfs/etc/cont-init.d/30-nginx.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== -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/transmission/rootfs/etc/nginx/includes/mime.types b/transmission/rootfs/etc/nginx/includes/mime.types deleted file mode 100644 index 7c7cdef2d..000000000 --- a/transmission/rootfs/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/transmission/rootfs/etc/nginx/includes/proxy_params.conf b/transmission/rootfs/etc/nginx/includes/proxy_params.conf deleted file mode 100644 index ec2660161..000000000 --- a/transmission/rootfs/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 "gzip"; -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/transmission/rootfs/etc/nginx/includes/resolver.conf b/transmission/rootfs/etc/nginx/includes/resolver.conf deleted file mode 100644 index 6485af141..000000000 --- a/transmission/rootfs/etc/nginx/includes/resolver.conf +++ /dev/null @@ -1 +0,0 @@ -resolver 127.0.0.11; diff --git a/transmission/rootfs/etc/nginx/includes/server_params.conf b/transmission/rootfs/etc/nginx/includes/server_params.conf deleted file mode 100644 index 09c06543e..000000000 --- a/transmission/rootfs/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/transmission/rootfs/etc/nginx/includes/ssl_params.conf b/transmission/rootfs/etc/nginx/includes/ssl_params.conf deleted file mode 100644 index 6f1500599..000000000 --- a/transmission/rootfs/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/transmission/rootfs/etc/nginx/includes/upstream.conf b/transmission/rootfs/etc/nginx/includes/upstream.conf deleted file mode 100644 index b1ca473d3..000000000 --- a/transmission/rootfs/etc/nginx/includes/upstream.conf +++ /dev/null @@ -1,3 +0,0 @@ -upstream backend { - server 127.0.0.1:9091; -} diff --git a/transmission/rootfs/etc/nginx/nginx.conf b/transmission/rootfs/etc/nginx/nginx.conf deleted file mode 100644 index 7e5bc6f7c..000000000 --- a/transmission/rootfs/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/transmission/rootfs/etc/nginx/servers/ingress.conf b/transmission/rootfs/etc/nginx/servers/ingress.conf deleted file mode 100644 index 48526c7d0..000000000 --- a/transmission/rootfs/etc/nginx/servers/ingress.conf +++ /dev/null @@ -1,23 +0,0 @@ -server { - listen %%interface%%:%%port%% default_server; - - include /etc/nginx/includes/server_params.conf; - include /etc/nginx/includes/proxy_params.conf; - - location / { - proxy_read_timeout 300; - proxy_pass_header X-Transmission-Session-Id; - proxy_set_header X-Forwarded-Host $host; - proxy_set_header X-Forwarded-Server $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://backend/transmission/web/; - } - - location /rpc { - proxy_pass http://backend/transmission/rpc; - } - - location /upload { - proxy_pass http://backend/transmission/upload; - } -} diff --git a/transmission/rootfs/etc/openvpn/up-transmission.sh b/transmission/rootfs/etc/openvpn/up-transmission.sh deleted file mode 100644 index 63d34eb0f..000000000 --- a/transmission/rootfs/etc/openvpn/up-transmission.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== -declare CONFIG - -CONFIG=$( /data/transmission/settings.json - -exec /usr/bin/transmission-daemon --foreground --config-dir /data/transmission diff --git a/transmission/rootfs/etc/services.d/nginx/finish b/transmission/rootfs/etc/services.d/nginx/finish deleted file mode 100644 index a7cb83bb5..000000000 --- a/transmission/rootfs/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 -n { s6-test $# -ne 0 } -if -n { s6-test ${1} -eq 256 } - -s6-svscanctl -t /var/run/s6/services diff --git a/transmission/rootfs/etc/services.d/nginx/run b/transmission/rootfs/etc/services.d/nginx/run deleted file mode 100644 index 1835f90b9..000000000 --- a/transmission/rootfs/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 9091 - -bashio::log.info "Starting NGinx..." - -exec nginx diff --git a/transmission/rootfs/etc/services.d/transmission/finish b/transmission/rootfs/etc/services.d/transmission/finish deleted file mode 100644 index 71a44d571..000000000 --- a/transmission/rootfs/etc/services.d/transmission/finish +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/execlineb -S0 -# ============================================================================== -# Take down the S6 supervision tree when the server fails -# ============================================================================== -if -n { s6-test $# -ne 0 } -if -n { s6-test ${1} -eq 256 } - -s6-svscanctl -t /var/run/s6/services diff --git a/transmission/rootfs/etc/services.d/transmission/run b/transmission/rootfs/etc/services.d/transmission/run deleted file mode 100644 index 214573ef6..000000000 --- a/transmission/rootfs/etc/services.d/transmission/run +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== -# Runs Transmission -# ============================================================================== -bashio::log.info "Starting Transmission..." - -if bashio::config.true 'openvpn_enabled'; then - exec /usr/sbin/openvpn --config /etc/openvpn/config.ovpn --script-security 2 --up /etc/openvpn/up.sh --down /etc/openvpn/down.sh -else - exec /usr/bin/transmission-daemon --foreground --config-dir /share/transmission -fi diff --git a/transmission_ls/Dockerfile b/transmission_ls/Dockerfile deleted file mode 100644 index db7056e8e..000000000 --- a/transmission_ls/Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -ARG BUILD_FROM -FROM $BUILD_FROM - -# Copy root filesystem -COPY rootfs / - -# Small hack needed for ingress support -# -# Transmission always uses "transmission" as a subdirectory in the URL, so the web interface can for instance be found at: -# -# http:///transmission/web/ -# -# The same goes for the RPC API, which is exposed under /transmission/rpc. When using ingress, this is not the case however -# and "transmission" directory is not part of the URL. So transmission is basically served under the root (/), e.g.: -# -# http://10.0.10.110:8123/api/hassio_ingress/rQEi5X4zJFTmZ82ghplDjsx2AoK3r2lqx0zZHHjZ69Q/ -# -# As the web UI uses a relative path when resolving the RPC endpoint, it basically becomes: -# -# http://10.0.10.110:8123/api/hassio_ingress/rQEi5X4zJFTmZ82ghplDjsx2AoK3r2lqx0zZHHjZ69Q/../rpc -# -# which obviously is: -# -# http://10.0.10.110:8123/api/hassio_ingress -# -# This will not work. The sed statement below changes the way the RPC endpoint is determined by keeping the regular endpoint -# when accessing transmission as usual, but stripping the relative part when using ingress. -RUN sed -i 's|'"'"'\.\./rpc'"'"'|window.location.pathname.endsWith("/web/") ? "../rpc" : "rpc"|' /usr/share/transmission/web/javascript/remote.js - -# MOFIFY DATA PATH -RUN sed -i "s|config|share/transmission|g" /etc/services.d/transmission/run - -VOLUME [ "/data" ] diff --git a/transmission_ls/build.json b/transmission_ls/build.json deleted file mode 100644 index 3aae1e955..000000000 --- a/transmission_ls/build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "build_from": { - "armv7": "linuxserver/transmission:arm32v7-3.00-r0-ls69", - "armhf": "linuxserver/transmission:arm32v7-3.00-r0-ls69", - "aarch64": "linuxserver/transmission:arm64v8-3.00-r0-ls69", - "amd64": "linuxserver/transmission:amd64-3.00-r0-ls69" - }, - "squash": false, - "args": {} -} - diff --git a/transmission_ls/config.json b/transmission_ls/config.json deleted file mode 100644 index ff35ef5e5..000000000 --- a/transmission_ls/config.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "Transmission NAS", - "version": "3.00-r0-ls69", - "slug": "transmission_ls", - "description": "Bittorrent client based on linuxserver image.", - "url": "https://github.com/alexbelgium/transmission_ls", - "startup": "services", - "arch": [ - "aarch64", - "amd64", - "armv7", - "armhf" - ], - "ports": { - "9091/tcp": 9091, - "51413/tcp": 51413, - "51413/udp": 51413 - }, - "ports_description": { - "9091/tcp": "Web UI port (required)", - "51413/tcp": "Peer port (setup router port forwarding to this port)", - "51413/udp": "Peer port (setup router port forwarding to this port)" - }, - "map": [ - "config:rw", - "share:rw", - "media:rw", - "ssl" - ], - "privileged": ["SYS_ADMIN", "DAC_READ_SEARCH"], - "full_access": true, - "webui": "http://[HOST]:[PORT:9091]", - "boot": "auto", - "environment": { - "PUID": 0, - "PGID": 0 - }, - "options": { - "PUID": 0, - "PGID": 0, - "download_dir": "/share/downloads", - "incomplete_dir": "/share/incomplete", - "localdisks": ["sda1"], - "networkdisks": "", - "cifsusername": "", - "cifspassword": "" - }, - "schema": { - "PUID": "int", - "PGID": "int", - "TZ": "str?", - "download_dir": "str", - "incomplete_dir": "str", - "localdisks": ["str"], - "networkdisks": "str", - "cifsusername": "str", - "cifspassword": "str" - } -} diff --git a/transmission_ls/icon.png b/transmission_ls/icon.png deleted file mode 100644 index 29a6a3cdc..000000000 Binary files a/transmission_ls/icon.png and /dev/null differ diff --git a/transmission_ls/logo.png b/transmission_ls/logo.png deleted file mode 100644 index 524beb6b2..000000000 Binary files a/transmission_ls/logo.png and /dev/null differ diff --git a/transmission_ls/rootfs/etc/cont-init.d/20-transmission-configuration.sh b/transmission_ls/rootfs/etc/cont-init.d/20-transmission-configuration.sh deleted file mode 100644 index 30ced20da..000000000 --- a/transmission_ls/rootfs/etc/cont-init.d/20-transmission-configuration.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/with-contenv bashio -# ============================================================================== - -declare CONFIG -declare incomplete_bool -declare download_dir -declare incomplete_dir - -if ! bashio::fs.directory_exists '/share/transmission'; then - mkdir '/share/transmission' -fi - -if ! bashio::fs.file_exists '/share/transmission/settings.json'; then - echo "{}" > /share/transmission/settings.json -fi - -CONFIG=$( /share/transmission/settings.json diff --git a/transmission_ls/rootfs/etc/cont-init.d/50-mounts.sh b/transmission_ls/rootfs/etc/cont-init.d/50-mounts.sh deleted file mode 100644 index 0bb2a5c57..000000000 --- a/transmission_ls/rootfs/etc/cont-init.d/50-mounts.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/with-contenv bashio -bashio::log.info 'Mounting external hdd...' - -# Mount local Share if configured and if Protection Mode is active -if bashio::config.has_value 'localdisks'; then - MOREDISKS=$(bashio::config 'localdisks') - bashio::log.info "Local Disks mounting.. ${MOREDISKS}" && \ - for disk in $MOREDISKS - do - bashio::log.info "Mount ${disk}" - mkdir -p /share/$disk && \ - if [ ! -d /share/$disk ]; then - echo "Creating /share/$disk" - mkdir -p /share/$disk - chown -R abc:abc /share/$disk - fi - mount /dev/$disk /share/$disk && \ - bashio::log.info "Success!" - done || \ - bashio::log.warning "Protection mode is ON. Unable to mount local drives!" -fi \ No newline at end of file