[SUPPORT] djismGAMING | storm, a self-hosted mobile-friendly webUI for deluge


Recommended Posts

djismGAMING_ICON.png.8d6265528a6f5a460c6a7693835868c3.png

 

Application Name: storm
Application Site: https://github.com/relvacode/storm
Docker Image Repository: https://github.com/relvacode/storm/pkgs/container/storm
Github: https://github.com/relvacode/storm

 

Please post any questions/issues relating to this docker you have in this thread.

 

If you need help but are not using unRAID, then please do not post here, instead head to the application's GitHub repository and open an issue there.

 

PLEASE READ THIS, IMPORTANT TO MAKE THE CONTAINER WORK WITH YOUR DELUGE CONTAINER

 

Introducing Storm

 

A slick remote interface for Deluge that fully supports mobile devices (including as a home-screen app)

 

Some necessary steps:

 

- You'll need a Deluge container running with a valid auth configuration
  as shown here: https://dev.deluge-torrent.org/wiki/UserGuide/Authentication
- Storm needs a way to contact the Deluge RPC daemon so it's best that you
  create a Docker network and attach the Storm container to that network.
- Once that's setup you'll need to configure Deluge to allow remote RPC connections:
  - Open up core.conf in your Deluge configuration folder
    -  set "allow_remote": true

 

Edited April 1, 2022 by @djismgaming (my first unRAID template ever!)

Edited February 27, 2023 by @djismgaming (added Readme from template)

Edited by djismgaming
added Readme from template
Link to comment
  • 1 month later...

I can not get Storm to connect to my delugevpn container. I've created a new custom network for them to connect on and tried using the IP as hostname, but I keep getting these two errors:

ERROR pool storm/pool.go:217 Failed to establish Deluge RPC connection {"error": "dial tcp 172.19.0.3:58846: connect: connection timed out"}

and

ERROR api storm/api.go:206 Internal Server Error {"Method": "GET", "URL": "/api/plugins", "RemoteAddr": "xxx.xxx.xxx.xxx:55450", "Time": "2022-05-16T12:19:40.638Z", "StatusCode": 500, "ResponseSize": 103, "Duration": "2m12.245713456s", "error": "A connection to the Deluge RPC daemon could not be established by the connection pool"}

 

Link to comment
8 hours ago, g1toncho said:

I can not get Storm to connect to my delugevpn container. I've created a new custom network for them to connect on and tried using the IP as hostname, but I keep getting these two errors:

ERROR pool storm/pool.go:217 Failed to establish Deluge RPC connection {"error": "dial tcp 172.19.0.3:58846: connect: connection timed out"}

and

ERROR api storm/api.go:206 Internal Server Error {"Method": "GET", "URL": "/api/plugins", "RemoteAddr": "xxx.xxx.xxx.xxx:55450", "Time": "2022-05-16T12:19:40.638Z", "StatusCode": 500, "ResponseSize": 103, "Duration": "2m12.245713456s", "error": "A connection to the Deluge RPC daemon could not be established by the connection pool"}

 

Try not to use IPs when using a custom docker network.

 

The custom docker network makes it possible, for all containers on it, to address one another via their hostname (container name) http://storm >>>> http://delugevpn.

 

I always try troubleshooting by using

curl

 

On the container console:

image.png.eb96ed6772bb40d525c915e145eeb8fd.png

 

Enter these commands to see if the containers see each other:

 

apk add curl

 

This will install curl inside the alpine-based storm container.

 

curl delugecontainername:8112

 

This uses curl to get the html response from the deluge container in it's port 8112. Shown in my setup below:

 

 image.thumb.png.9d6991aa8ee3eb48c64c3225865fc923.png

 

my command in this case was:

 

curl delugevpn:8112

 

Try that to see if the containers see each other in their custom docker network.
Here the explanation of how it works: https://docs.docker.com/network/bridge/

 

Also, be aware that, by default, custom docker networks are not persistent in unRAID.

 

image.thumb.png.b454795d19c2028c8b1978140b496b29.png

Edited by djismgaming
Link to comment
  • 4 months later...
2022-10-16T04:46:18.932Z        INFO    api     storm/server.go:93      Ready to serve HTTP connections on :8221/
2022-10-16T04:46:25.305Z        ERROR   pool    storm/pool.go:217       Failed to establish Deluge RPC connection        {"error": "dial tcp: lookup binhex-delugevpn on 10.0.44.1:53: no such host"}
2022-10-16T04:46:25.305Z        ERROR   api     storm/api.go:206        Internal Server Error   {"Method": "GET", "URL": "/api/plugins", "RemoteAddr": "10.0.44.6:52296", "Time": "2022-10-16T04:46:25.165Z", "StatusCode": 500, "ResponseSize": 103, "Duration": "139.998576ms", "error": "A connection to the Deluge RPC daemon could not be established by the connection pool"}

 

I'm getting the same thing.  What do you mean "Try not to use IPs when using a custom docker network."

 

What additional steps need to be taken?  😀

Link to comment
On 10/16/2022 at 12:53 AM, waymon said:

 

I'm getting the same thing.  What do you mean "Try not to use IPs when using a custom docker network."

 

What additional steps need to be taken?  😀

That means that, while using a custom docker network, the container IPs can change but their hostnames wont, which by default are the defined by the container name.

 

Custom docker networks are created on the unraid host CLI by using:

docker network create <networkname>


If you have deluge installed with container name "delugedownloads" then, from any of the other containers on that same custom network, you can

curl delugedownloads:8112

and it will work. IPs on the other hand can change for a variety of reasons.

 

That's why I don't use IPs but hostnames between containers.

 

As an example, if you're going to add Deluge, with container name "delugevpn", as a downloader entry on Sonarr, as long as the two containers are on the same custom docker network, you can add "delugevpn" on the host field. That is possible because the two containers share the same custom docker network.

 

Example below:

 chrome_CfFOlI3gpR.thumb.jpg.25fcde5e70e875d6d08637a8f8eade95.jpg

Link to comment
  • 2 weeks later...

I think the issue you're having is that both containers are just members of the bridge network and not of a custom network.

 

We need to have both containers to be in the same custom network OR instead of "binhex-delugevpn", use the static IP of your machine on the variable "DELUGE_RPC_HOSTNAME".

The custom network, as its shared by any number of containers, will make it so you can do as you did (give just the container name) and it should work. But the default bridge network does not have that capability. (Modified the URL from the quote so it gets you directly to the differences between default/custom bridge docker networks.) User-defined bridges provide automatic DNS resolution between containers.

 

On 5/16/2022 at 5:27 PM, djismgaming said:

Here the explanation of how it works: https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge

 

Also, be aware that, by default, custom docker networks are not persistent in unRAID. (SETTINGS > DOCKER > ADVANCED VIEW)

 

image.thumb.png.b454795d19c2028c8b1978140b496b29.png

 

Edited by djismgaming
Link to comment

I created a custom network but neither my deluge or storm container would start.  They would just fail.

I changed it to the IP and now I am getting this error below.  Why is it trying to connect to .103:60937 ?  Where is it getting those numbers?

 

2022-10-31T14:04:50.568Z        INFO    api     storm/server.go:93      Ready to serve HTTP connections on :8221/
2022-10-31T14:04:58.859Z        ERROR   pool    storm/pool.go:217       Failed to establish Deluge RPC connection        {"error": "RPC error BadLoginError('Password does not match')\nTraceback: Traceback (most recent call last):\n  File \"/usr/lib/python3.10/site-packages/deluge/core/rpcserver.py\", line 275, in dispatch\n    ret = component.get('AuthManager').authorize(*args, **kwargs)\n  File \"/usr/lib/python3.10/site-packages/deluge/core/authmanager.py\", line 121, in authorize\n    raise BadLoginError('Password does not match', username)\ndeluge.error.BadLoginError: Password does not match\n"}
2022-10-31T14:04:58.859Z        ERROR   api     storm/api.go:206        Internal Server Error   {"Method": "GET", "URL": "/api/plugins", "RemoteAddr": "10.0.44.103:60937", "Time": "2022-10-31T14:04:58.827Z", "StatusCode": 500, "ResponseSize": 103, "Duration": "32.771232ms", "error": "A connection to the Deluge RPC daemon could not be established by the connection pool"}
2022-10-31T14:05:35.647Z        ERROR   pool    storm/pool.go:217       Failed to establish Deluge RPC connection        {"error": "RPC error BadLoginError('Password does not match')\nTraceback: Traceback (most recent call last):\n  File \"/usr/lib/python3.10/site-packages/deluge/core/rpcserver.py\", line 275, in dispatch\n    ret = component.get('AuthManager').authorize(*args, **kwargs)\n  File \"/usr/lib/python3.10/site-packages/deluge/core/authmanager.py\", line 121, in authorize\n    raise BadLoginError('Password does not match', username)\ndeluge.error.BadLoginError: Password does not match\n"}
2022-10-31T14:05:35.647Z        ERROR   api     storm/api.go:206        Internal Server Error   {"Method": "GET", "URL": "/api/plugins", "RemoteAddr": "10.0.44.103:60956", "Time": "2022-10-31T14:05:35.636Z", "StatusCode": 500, "ResponseSize": 103, "Duration": "10.539642ms", "error": "A connection to the Deluge RPC daemon could not be established by the connection pool"}
2022-10-31T14:09:24.064Z        ERROR   pool    storm/pool.go:217       Failed to establish Deluge RPC connection        {"error": "RPC error BadLoginError('Password does not match')\nTraceback: Traceback (most recent call last):\n  File \"/usr/lib/python3.10/site-packages/deluge/core/rpcserver.py\", line 275, in dispatch\n    ret = component.get('AuthManager').authorize(*args, **kwargs)\n  File \"/usr/lib/python3.10/site-packages/deluge/core/authmanager.py\", line 121, in authorize\n    raise BadLoginError('Password does not match', username)\ndeluge.error.BadLoginError: Password does not match\n"}
2022-10-31T14:09:24.064Z        ERROR   api     storm/api.go:206        Internal Server Error   {"Method": "GET", "URL": "/api/plugins", "RemoteAddr": "10.0.44.103:61176", "Time": "2022-10-31T14:09:24.054Z", "StatusCode": 500, "ResponseSize": 103, "Duration": "10.38151ms", "error": "A connection to the Deluge RPC daemon could not be established by the connection pool"}




 

Link to comment

I see you have a DELUGE_RPC_PORT variable on Storm. THat is not on the latest version.

You may be using an outdated template.

Try to remove it by deleting the container completely, going into "add container" and select storm from the container list and then press the X on the side of the template name:

 

image.thumb.png.1a1a685aacca527c9eeed51dc09d12f7.png

 

You can also delete them directly from the flash drive from: Flash\config\plugins\dockerMan\templates-user.

Then install from the CA again from scratch.

 

Also "10.0.44.103:61176" may be your client PC's IP as Storm uses your IP to communicate. Those ports are randomly selected for outgoing communication from Storm with your PC. It's normal.

 

But the error itself is telling you that the passwords do not match.

 

Try removing the spaces/new lines on the end of the file. I have no new lines and it works.

Make sure you're saving the auth file in LF line breaks and not CRLF.

vscode example:

image.png.0a2c5b3eb986d8a3fb9b0e36d78f1c29.png

Edited by djismgaming
Link to comment
  • 3 months later...

I know this is an old thread but was hoping I could get a little assistance. Love the UI. I just got it installed and running on the docker along side deluge and can access it but it seems to be stuck in a perpetual loading state and doesnt allow me to add any torrents, is that an issue with it not connecting to deluge properlyI know this is an old thread but was hoping I could get a little assistance. Love the UI. I just got it installed and running on the docker along side deluge and can access it but it seems to be stuck in a perpetual loading state and doesnt allow me to add any torrents, is that an issue with it not connecting to deluge properly

Link to comment

I think I see your issue. 
 

I don’t know if hostname resolution works on the br0 network on unraid. You can create a custom docker network for that I guess. I need to test in the br0 network though. 
 

Also, are those user/password setup in the deluge container itself on appdata/deluge/auth file? (“deluge” being the directory where the deluge config resides)

Edited by djismgaming
Link to comment

OK, I see an issue with the br0 network.

 

This network is in your home subnet 192.168.0.0/24. This means the container will take an IP from your router (or DHCP server) via DHCP. The hostname resolution in docker will not function correctly.

 

In your case it would be better to use a user-set custom docker network for this connection. (that will entail having all other apps that need connection to deluge in that same user created custom network) That is done via:

 

docker network create <name of network here>

 

For that to stick on reboot/array restart, you'll need to go to Settings > Docker > advanced view > Preserve user defined networks to YES.

 

Another way would be to set both containers in the Bridge network (the containers will use your server IP) and use, in storm, the IP of your unraid server. (The way I have it setup for testing)

 

chrome_WdVNU8t9FZ.thumb.jpg.5f83e85b7b8a3a19ece1d951814b5c9a.jpg

Edited by djismgaming
Link to comment

I've done more testing and I can most certainly say, the linuxserver container, somehow, does not work with storm. No issues with the binhex-deluge one.

Weird indeed. 

 

Can you try with the binhex-deluge one on your side and let me know?

 

I've tried the linuxserver version in the br0, in a custom set network (via command: docker network create test), set that test network on both containers, allso using the Bridge network. Everytime I just get the spinning wheel as you do.

Edited by djismgaming
Link to comment

Finally found the culprit in the testing.

 

In the notes on the container template there is this line:

 

- Once that's setup you'll need to configure Deluge to allow remote RPC connections:
  - Open up core.conf in your Deluge configuration folder
    -  set "allow_remote": true

 

That was my issue on testing. Can you check if you followed that step? Remember to stop the deluge container while doing this change in the file. After the change, then start the container.

 

It works now with the linuxserver image. Before, I was getting all these "connection refused" in storm's logs:

 

chrome_eqNZRaExdM.jpg

Edited by djismgaming
Link to comment
  • 2 weeks later...
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.