This commit is contained in:
Alexandre
2020-12-07 15:48:35 +01:00
parent f7166ad259
commit 32204d4d5b
29 changed files with 117 additions and 194 deletions

View File

@@ -1,6 +1,59 @@
FROM linuxserver/transmission
ARG BUILD_FROM=hassioaddons/base:8.0.1
# hadolint ignore=DL3006
FROM ${BUILD_FROM}
# MOFIFY DATA PATH
RUN sed -i "s|config|data|g" /etc/services.d/transmission/run
# Copy root filesystem
COPY rootfs /
VOLUME [ "/data" ]
# 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:
#
# http://<server>/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
# Build arugments
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_REF
ARG BUILD_VERSION
# 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 <pierrickrouxel@addons.community>" \
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"

View File

@@ -1,32 +0,0 @@
# Marcelveldt's Hassio Add-ons: Radarr
## About
Radarr add-on based on the prebuilt docker image from linuxserver
Radarr - A fork of Sonarr to work with movies à la Couchpotato.
## 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 <your-ip>:7878
By default hassio folders backup, share and ssl are available within the addon.
You can use the share folder to access/store your media files.
Documentation for Radarr: https://github.com/Radarr/Radarr
[repository]: https://github.com/marcelveldt/hassio-addons-repo

View File

@@ -1,39 +1,65 @@
{
"name": "Transmission without vpn",
"version": "latest",
"slug": "transmission_docker",
"name": "Transmission with NAS",
"version": "1.0",
"slug": "transmission",
"description": "The torrent client for Hass.io with OpenVPN support",
"url": "https://github.com/alexbelgium/hassio-addons",
"url": "https://github.com/pierrickrouxel/hassio-addon-transmission",
"webui": "http://[HOST]:[PORT:9091]/transmission/web/",
"startup": "services",
"arch": [
"aarch64",
"amd64",
"armv7",
"armhf"
"ingress": "true",
"ingress_port": 8099,
"panel_icon": "mdi:progress-download",
"arch": ["armhf", "armv7", "aarch64", "amd64", "i386"],
"map": [
"config:rw",
"share:rw",
"ssl"
],
"boot": "auto",
"ports": {
"9091/tcp": 9091,
"9091/tcp": null,
"51413/tcp": 51413,
"51413/udp": 51413
},
"ports_description": {
"9091/tcp": "Web UI port",
"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)"
},
"map": [
"backup:rw",
"share:rw",
"ssl"
"privileged": [
"NET_ADMIN"
],
"webui": "http://[HOST]:[PORT:9091]/transmission/web/",
"boot": "auto",
"environment": {
"PUID": "0",
"PGID": "0"
"devices": [
"/dev/net/tun:/dev/net/tun:rwm"
],
"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": ["-sda1"],
"openvpn_enabled": false,
"openvpn_config": "",
"openvpn_username": "",
"openvpn_password": ""
},
"ingress": "true",
"ingress_port": 9091,
"options": {},
"schema": {}
"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"
},
"environment": {
"LOG_FORMAT": "{LEVEL}: {MESSAGE}"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,59 +0,0 @@
ARG BUILD_FROM=hassioaddons/base:8.0.1
# hadolint ignore=DL3006
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:
#
# http://<server>/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
# Build arugments
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_REF
ARG BUILD_VERSION
# 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 <pierrickrouxel@addons.community>" \
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"

View File

@@ -1,65 +0,0 @@
{
"name": "Transmission with NAS",
"version": "1.0",
"slug": "transmission_nas",
"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/",
"startup": "services",
"ingress": "true",
"ingress_port": 8099,
"panel_icon": "mdi:progress-download",
"arch": ["armhf", "armv7", "aarch64", "amd64", "i386"],
"map": [
"config:rw",
"share:rw",
"ssl"
],
"boot": "auto",
"ports": {
"9091/tcp": null,
"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)"
},
"privileged": [
"NET_ADMIN"
],
"devices": [
"/dev/net/tun:/dev/net/tun:rwm"
],
"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": ["-sda1"],
"openvpn_enabled": false,
"openvpn_config": "",
"openvpn_username": "",
"openvpn_password": ""
},
"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"
},
"environment": {
"LOG_FORMAT": "{LEVEL}: {MESSAGE}"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB