mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-10 18:01:03 +01:00
34 lines
1.3 KiB
Docker
34 lines
1.3 KiB
Docker
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://<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
|
|
|
|
# MOFIFY DATA PATH
|
|
RUN sed -i "s|config|share/transmission|g" /etc/services.d/transmission/run
|
|
|
|
VOLUME [ "/data" ]
|