diff --git a/joal/Dockerfile b/joal/Dockerfile index 555561e72..15b753fd8 100644 --- a/joal/Dockerfile +++ b/joal/Dockerfile @@ -1,11 +1,16 @@ ARG BUILD_FROM FROM $BUILD_FROM -# Copy root filesystem -COPY rootfs / -# MOFIFY DATA PATH -RUN sed -i "s|config|share/transmission|g" /etc/services.d/transmission/run \ - && sed -i "s|config|share/transmission|g" /etc/cont-init.d/20-config +RUN mkdir -p /joal \ + && curl -L -s \ + "https://github.com/anthonyraymond/joal/releases/download/2.1.24/joal.tar.gz" \ + | tar zxvf - -C /joal \ + && chown -R $(id -u):$(id -g) /joal \ + && rm -fr \ + /tmp/* -VOLUME [ "/data" ] \ No newline at end of file +VOLUME /data + +CMD [ "--joal-conf=/joal" ] +VOLUME [ "/data" ] diff --git a/joal/README.md b/joal/README.md index f4f5eb98a..0e4452159 100644 --- a/joal/README.md +++ b/joal/README.md @@ -1,10 +1,10 @@ -# Home assistant add-on: Transmission +# Home assistant add-on: Joal ![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] ## About -Transmission is a bittorrent client. -This addon is based on the [docker image](https://github.com/linuxserver/transmission) from linuxserver.io. +An open source command line RatioMaster with WebUI. +This addon is based on the [docker image](https://hub.docker.com/r/anthonyraymond/joal) from Anthony Raymond. ## Installation @@ -14,23 +14,15 @@ 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. Make sure that the two ports are open on your router 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 -Options : -- "download_dir": "/share/downloads" # where the files will be saved after download -- "incomplete_dir": "/share/incomplete" # where the files are saved during download -- "localdisks": ["sda1"] # list of devices to mount, '' if none -- "networkdisks": "" # list of smbv2/3 servers to mount, '' if none -- "cifsusername": "" # smb username -- "cifspassword": "" # smb password - -Complete transmission options are in /share/transmission (make sure addon is stopped before modifying it as Transmission writes its ongoing values when stopping and could erase your changes) - -Webui can be found at `:9091`. +Webui can be found at `:8081/joal/ui`. +You'll need to open the options and encode the secret token lrMY24Byhx [repository]: https://github.com/alexbelgium/hassio-addons [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg diff --git a/joal/build.json b/joal/build.json index dacbff4f3..3f1d76f0c 100644 --- a/joal/build.json +++ b/joal/build.json @@ -3,7 +3,7 @@ "armv7": "anthonyraymond/joal:2.1.24-arm", "armhf": "anthonyraymond/joal:2.1.24-arm", "aarch64": "anthonyraymond/joal:2.1.24-arm64", - "amd64": "anthonyraymond/joal:2.1.24-amd64", + "amd64": "anthonyraymond/joal:2.1.24-amd64" }, "squash": false, "args": {} diff --git a/joal/config.json b/joal/config.json index 0d2a83a30..37e2c6a62 100644 --- a/joal/config.json +++ b/joal/config.json @@ -2,7 +2,7 @@ "name": "Joal Desktop test", "version": "2.1.24", "slug": "joal", - "description": "Joal Desktop docker". + "description": "An open source command line RatioMaster with WebUI", "url": "https://github.com/alexbelgium/hassio-addons/tree/master/joal", "startup": "services", "arch": [ @@ -12,39 +12,25 @@ "armhf" ], "ports": { - "1234/tcp": 1234 + "49152/tcp": 49152, + "8081/tcp": 8081 }, "ports_description": { - "1234/tcp": "Web UI port (required), + "49152/tcp": "torrent port - hardcoded, can't change", + "8081/tcp": "Web UI port - hardcoded, can't change" }, - "map": [ - "share:rw" - ], - "webui": "http://[HOST]:[PORT:1234]", + "webui": "http://[HOST]:[PORT:8081]/joal/ui", "boot": "auto", + "host_network": true, "environment": { - "PUID": 0, - "PGID": 0 + "spring.main.web-environment": true, + "joal.iframe.enabled":false, + "joal.ui.path.prefix": "joal", + "joal.ui.secret-token": "lrMY24Byhx", + "server.port": 8081 }, "options": { - "PUID": 0, - "PGID": 0, - "download_dir": "/share/downloads", - "incomplete_dir": "/share/incomplete", - "localdisks": ["sda1"], - "networkdisks": "//SERVER/SHARE", - "cifsusername": "username", - "cifspassword": "password" - }, + }, "schema": { - "PUID": "int", - "PGID": "int", - "TZ": "str?", - "download_dir": "str", - "incomplete_dir": "str", - "localdisks": ["str?"], - "networkdisks": "str?", - "cifsusername": "str?", - "cifspassword": "str?" } } diff --git a/joal/icon.png b/joal/icon.png index 29a6a3cdc..63e97d080 100644 Binary files a/joal/icon.png and b/joal/icon.png differ diff --git a/joal/logo.png b/joal/logo.png index 29a6a3cdc..63e97d080 100644 Binary files a/joal/logo.png and b/joal/logo.png differ diff --git a/joal/rootfs/etc/cont-init.d/20-transmission-configuration.sh b/joal/rootfs/etc/cont-init.d/20-transmission-configuration.sh deleted file mode 100644 index 30ced20da..000000000 --- a/joal/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/joal/rootfs/etc/cont-init.d/50-mounts.sh b/joal/rootfs/etc/cont-init.d/50-mounts.sh deleted file mode 100644 index 0bb2a5c57..000000000 --- a/joal/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