idlesign / deluge-webapi

Plugin for Deluge WebUI providing sane JSON API
https://github.com/idlesign/deluge-webapi
BSD 3-Clause "New" or "Revised" License
120 stars 27 forks source link

Unable to install on 13.15. Docker #21

Open ViktorLindgren95 opened 5 years ago

ViktorLindgren95 commented 5 years ago

Using docker. Tried installing it via the web ui like i do with other plugins, It shows no error but nothing shows up in the list. No error message in the logs either. Ive tried multiple times but nothing happens.

idlesign commented 5 years ago

No error message in the logs either.

That's strange, maybe log is not verbose enough or you're missing some messages. Maybe related to #6 #15 #16

v1ru535 commented 5 years ago

Hi,

Same here, test another plugin install was ok (streaming). Fail with Webapi with no errors show on log or webui. Test install on webui on windows and Linux too. Python version on host >2.7, docker deluge image >2.7 too.

Maybe an update or problem was unable to reproduce?

Thx

idlesign commented 5 years ago

I'll try to investigate it this week.

idlesign commented 5 years ago

The issue is probably related to Client-Server and not seen on local setups.

Please try this egg built from the latest sources https://github.com/idlesign/deluge-webapi/raw/master/dist/WebAPI-0.3.2-py2.7.egg

A note: to get logs in your environment you can follow https://deluge-webapi.readthedocs.io/en/latest/quickstart.html#debug

v1ru535 commented 5 years ago

Everything now works with this version "WebAPI-0.3.2-py2.7.egg".

Thank you for the investigation and your work @idlesign !

have a good day <3

Edit: Maybe related #6 #15 #16 can be closed too

idlesign commented 5 years ago

@Masterzior Please try using 0.3.2 from https://github.com/idlesign/deluge-webapi/tree/master/dist

galacticat commented 5 years ago

I am able to see the plugin make it to the /plugins dirctory, but it never becomes available to activate.

I am running Deluge 1.3.15 server in a docker instance on an Ubuntu 18.04 host. I am using the 0.3.2 plugin.

Logs are not showing anything.

idlesign commented 5 years ago

@galacticat

Logs are not showing anything.

I doubt. Please read https://deluge-webapi.readthedocs.io/en/latest/quickstart.html#debug

galacticat commented 5 years ago

Nothing useful that I can see

[root@668ac642cbf0 config]# deluged -d -L info
[INFO    ] 07:40:36 daemon:127 Deluge daemon 1.3.15
[INFO    ] 07:40:36 core:87 Starting libtorrent 1.0.9.0 session..
[WARNING ] 07:40:36 core:199 Failed to load lt state: [Errno 2] No such file or directory: '/home/nobody/.config/deluge/session.state'
[WARNING ] 07:40:36 config:369 Unable to open config file /home/nobody/.config/deluge/core.conf: [Errno 2] No such file or directory: '/home/nobody/.config/deluge/core.conf'
[INFO    ] 07:40:36 rpcserver:369 Starting DelugeRPC server localhost:58846
[INFO    ] 07:40:36 rpcserver:377 Daemon already running or port not available..
[ERROR   ] 07:40:36 rpcserver:378 Couldn't listen on localhost:58846: [Errno 98] Address already in use.
[root@668ac642cbf0 config]#

Deluge is already running, and other plugins are working fine that were loaded in the same method. I use the binhex/arch-delugevpn docker container

idlesign commented 5 years ago

Please address warnings and errors.

galacticat commented 5 years ago

I don't think that command is capturing the right instance.

[root@668ac642cbf0 config]# which deluged
/usr/sbin/deluged
[root@668ac642cbf0 config]# ps -ef|grep deluged|grep -v grep
nobody     782     1 23 May07 ?        05:15:00 /usr/bin/python2 /usr/bin/deluged -c /config -L info -l /config/deluged.log
[root@668ac642cbf0 config]#

So logs are being send to /config/deluged.log file.

I stopped the container, moved the current log file, and then restarted the container.

[INFO    ] 08:07:11 configmanager:70 Setting config directory to: /config
[INFO    ] 08:07:11 daemon:127 Deluge daemon 1.3.15
[INFO    ] 08:07:11 configmanager:70 Setting config directory to: /config
[INFO    ] 08:07:11 core:87 Starting libtorrent 1.0.9.0 session..
[WARNING ] 08:07:11 core:199 Failed to load lt state: [Errno 2] No such file or directory: '/config/session.state'
[INFO    ] 08:07:11 rpcserver:369 Starting DelugeRPC server :58846
[INFO    ] 08:07:12 pluginmanagerbase:158 Plugin Execute enabled..
[INFO    ] 08:07:12 pluginmanagerbase:158 Plugin AutoAdd enabled..
[INFO    ] 08:07:12 core:97 *** Start Label plugin ***
[INFO    ] 08:07:12 pluginmanagerbase:158 Plugin Label enabled..
[INFO    ] 08:07:12 torrentmanager:666 Successfully loaded state file: /config/state/torrents.state
[INFO    ] 08:07:13 torrentmanager:800 Successfully loaded fastresume file: /config/state/torrents.fastresume

TORRENTS ADDED MESSAGES

[INFO    ] 08:07:17 rpcserver:206 Deluge Client connection made from: 127.0.0.1:52344
[INFO    ] 08:07:18 torrentmanager:800 Successfully loaded fastresume file: /config/state/torrents.fastresume
[INFO    ] 08:07:18 torrentmanager:846 Saving the fastresume at: /config/state/torrents.fastresume
[INFO    ] 08:07:20 rpcserver:226 Deluge client disconnected: Connection to the other side was lost in a non-clean fa
shion: Connection lost.
[INFO    ] 08:07:21 rpcserver:206 Deluge Client connection made from: 127.0.0.1:52488
[INFO    ] 08:07:21 rpcserver:226 Deluge client disconnected: Connection to the other side was lost in a non-clean fa
shion: Connection lost.
[INFO    ] 08:07:22 rpcserver:206 Deluge Client connection made from: 127.0.0.1:52502
[INFO    ] 08:07:23 rpcserver:226 Deluge client disconnected: Connection to the other side was lost in a non-clean fa
shion: Connection lost.
[INFO    ] 08:07:26 rpcserver:206 Deluge Client connection made from: 127.0.0.1:52566
[INFO    ] 08:07:29 rpcserver:206 Deluge Client connection made from: 10.0.0.94:52612
[INFO    ] 08:07:33 rpcserver:206 Deluge Client connection made from: 10.0.0.94:52656
idlesign commented 5 years ago

I don't see api plugin among:

[INFO    ] 08:07:12 pluginmanagerbase:158 Plugin Execute enabled..
[INFO    ] 08:07:12 pluginmanagerbase:158 Plugin AutoAdd enabled..
[INFO    ] 08:07:12 core:97 *** Start Label plugin ***
[INFO    ] 08:07:12 pluginmanagerbase:158 Plugin Label enabled..

This may help maybe: https://dev.deluge-torrent.org/wiki/Plugins#Client-ServerSetups

galacticat commented 5 years ago

Hmmm...I wonder where it is loading plugins from... This is where the client put the .egg file. But looking at that it isn't loading plugins from this directory.

Config says it should be.

sh-5.0# pwd
/config/plugins
sh-5.0# ls -ltr
total 136
-rw-r--r-- 1 nobody users 17930 Feb 15 09:09 SimpleExtractor-0.4.1-py2.7.egg
-rw-r--r-- 1 nobody users 33220 Feb 15 09:09 AutoRemovePlus-0.6.1-py2.7.egg
-rw-rw-rw- 1 nobody users 79559 May  7 09:44 WebAPI-0.3.2-py2.7.egg
sh-5.0#

From core.conf:

  "add_paused": false,
  "max_connections_per_torrent": 50,
  "remove_seed_at_ratio": false,
  "autoadd_location": "/media/Downloads/Torrents/Manual_Torrents",
  "plugins_location": "/config/plugins"
galacticat commented 5 years ago

Ok, so I tested by actually enabling one of the manually added plugins from the /config/plugins directory.

[WARNING ] 09:07:03 core:115 EXTRACTOR: 7zr not found, disabling support for .7z
[INFO    ] 09:07:03 pluginmanagerbase:158 Plugin SimpleExtractor enabled..

I don't ever see WebAPI show up in the Plugins screen to enable. Tried this using both the web client and the Windows 64-bit client. I even tried manually adding "WebAPI" to the core.conf for enabled plugins, doesn't even attempt to load it in the logs.

Plugins Screen

idlesign commented 5 years ago

As per Deluge docs .egg file needs to be in plugins dir (put manually or from GUI) both on server and client.

galacticat commented 5 years ago

As per Deluge docs .egg file needs to be in plugins dir (put manually or from GUI) both on server and client.

Done that, still doesn't show up in the UI.

Deluge Plugin Directory

idlesign commented 5 years ago

@galacticat Maybe that'll be of help: something similar was in #6 — that's on Windows also.

galacticat commented 5 years ago

@galacticat Maybe that'll be of help: something similar was in #6 — that's on Windows also.

This is happening in both the Deluge Web Client and the Deluge Windows Client (I tried both). I was able to confirm that if I re-load SimpleExtractor it works fine, but doesn't work with the WebAPI plugin.

2019-05-09 11_57_16-Deluge_ Web UI 1 3 15

idlesign commented 5 years ago

I'm not able to check that Windows and Docker scenario myself. What you can do to investigate it:

  1. Try to remove bundled plugin (e.g. blacklist) from file system (client and server);
  2. Verify plugin is not in the list in webui and in client;
  3. Turn on debug mode (logging);
  4. Try to install that plugin using webui and client; check logs for anything interesting;
  5. Verify plugin is in the list in webui and client.
idlesign commented 5 years ago

There are other signals related to Deluge on Docker. To name a couple: https://github.com/binhex/arch-delugevpn/issues/66 https://github.com/linuxserver/docker-deluge/issues/61

galacticat commented 5 years ago

I use the binhex/arch-delugevpn container. I know the issue they are talking about regarding settings not saving, but I can't find anything about the plugin not showing up in the list of available plugins to enable.

After setting the logs to debug I was able to find the default location for plugins (/usr/lib/python2.7/site-packages/delgue/plugins/).

I then downloaded a random 3rd party plugin from the deluge site (NetWatcher), installed it from the WebUI, and was able to confirm it worked from /config/plugins as well.

However; putting the WebAPI plugin in either of these directories does not make it recognize it.

I don't know a lot about these plugins, but I am assuming it doesn't just scan these directories for files and load them. It must have a registry somewhere of plugins. My theory is that wherever it registers these plugins this one is not getting entered.

Logs from the point I click install in the web client:

[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: Extractor 0.6 at /usr/lib/python2.7/site-packages/deluge/plugins/Extractor-0.6-py2.7.egg
[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: Execute 1.3 at /usr/lib/python2.7/site-packages/deluge/plugi s/Execute-1.3-py2.7.egg
[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: Blocklist 1.3 at /usr/lib/python2.7/site-packages/deluge/plugins/Blocklist-1.3-py2.7.egg
[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: AutoAdd 1.5 at /usr/lib/python2.7/site-packages/deluge/plugi s/AutoAdd-1.5-py2.7.egg
[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: Label 0.2 at /usr/lib/python2.7/site-packages/deluge/plugins/Label-0.2-py2.7.egg
[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: Notifications 0.2 at /usr/lib/python2.7/site-packages/deluge plugins/Notifications-0.2-py2.7.egg
[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: WebUi 0.1 at /usr/lib/python2.7/site-packages/deluge/plugins/WebUi-0.1-py2.7.egg
[DEBUG   ] 08:50:56 pluginmanagerbase:124 Found plugin: Scheduler 0.3 at /usr/lib/python2.7/site-packages/deluge/plugins/Scheduler-0.3-py2.7.egg
nickwarza commented 5 years ago

Leaving this here in case it helps someone else. I renamed the file to a zip format, edited all the references from no-zip to zip in the various files and filenames, renamed back to egg format and it installed on my freenas build in an iocage jail

v1ru535 commented 5 years ago

Hi all, linuxserver/docker-deluge pull version 2.0.3, the plugin don't work anymore.

idlesign commented 5 years ago
linuxserver/docker-deluge pull version 2.0.3, the plugin don't work anymore.

Hi. It hardly belongs to here, rather to #14

MervisDiamonds commented 2 years ago

For others using docker, download the latest egg and place the file in the deluge plug-ins directory. Reload the container and it should show up.