[BUG] eggs cannot be installed.
Is there an existing issue for this?
- [X] I have searched the existing issues
Current Behavior
When trying to add any egg / plugin or trying to enable the ones that ought to be built-in, I get this in my container log
Also, the default plugin list is empty, while this version should already contain a list of plugins that can be enabled.
I'm starting this with an unaltered config, running on unraid linux, using docker compose. folder rights seem to be fine on the config folder.
media-deluge-1 | 00:42:09 [ERROR ][deluge.ui.web.json_api :1622] Error calling method `web.upload_plugin`: 'NoneType' object has no attribute 'call'
media-deluge-1 | 00:42:09 [ERROR ][deluge.ui.web.json_api :1622] 'NoneType' object has no attribute 'call'
media-deluge-1 | Traceback (most recent call last):
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/web/json_api.py", line 157, in _handle_request
media-deluge-1 | result = self._exec_local(method, params, request)
media-deluge-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/web/json_api.py", line 119, in _exec_local
media-deluge-1 | return meth(*params)
media-deluge-1 | ^^^^^^^^^^^^^
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/web/json_api.py", line 950, in upload_plugin
media-deluge-1 | d = client.core.upload_plugin(filename, plugin_data)
media-deluge-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/client.py", line 548, in __call__
media-deluge-1 | return self.daemon.call(self.base, *args, **kwargs)
media-deluge-1 | ^^^^^^^^^^^^^^^^
media-deluge-1 | AttributeError: 'NoneType' object has no attribute 'call'
Expected Behavior
I should be able to install eggs / plugins without python errors in the docker log.
Steps To Reproduce
see other descriptions. I'm running the container through docker compose and I'm trying to add a plugin via the webUI.
Environment
- OS: unraid 6.12.6
Linux Ra 6.1.64-Unraid #1 SMP PREEMPT_DYNAMIC Wed Nov 29 12:48:16 PST 2023 x86_64 Intel(R) Atom(TM) CPU C2750 @ 2.41GHz GenuineIntel GNU/Linux
- How docker service was installed: native
Docker version 20.10.24, build 297e128
Docker Compose version v2.21.0
CPU architecture
x86-64
Docker creation
x-volume-downloads:
&downloads
type: 'bind'
source: /mnt/user/downloads
target: /downloads
services:
deluge:
image: lscr.io/linuxserver/deluge:latest
labels:
net.unraid.docker.icon: "https://timmer.ninja/images/ico/deluge.png"
environment:
- PUID=1000
- PGID=100
- TZ=Etc/UTC
- DELUGE_LOGLEVEL=error #optional
volumes:
- /mnt/user/docker_volumes/media/deluge/config:/config
- <<: *downloads
ports:
- 8112:8112
- 6881:6881
- 6881:6881/udp
- 58846:58846 #optional
restart: unless-stopped
network_mode: bridge
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8112"]
interval: 30s
timeout: 10s
retries: 5
Container logs
media-deluge-1 | [migrations] started
media-deluge-1 | [migrations] no migrations found
media-deluge-1 | ───────────────────────────────────────
media-deluge-1 |
media-deluge-1 | ██╗ ███████╗██╗ ██████╗
media-deluge-1 | ██║ ██╔════╝██║██╔═══██╗
media-deluge-1 | ██║ ███████╗██║██║ ██║
media-deluge-1 | ██║ ╚════██║██║██║ ██║
media-deluge-1 | ███████╗███████║██║╚██████╔╝
media-deluge-1 | ╚══════╝╚══════╝╚═╝ ╚═════╝
media-deluge-1 |
media-deluge-1 | Brought to you by linuxserver.io
media-deluge-1 | ───────────────────────────────────────
media-deluge-1 |
media-deluge-1 | To support LSIO projects visit:
media-deluge-1 | https://www.linuxserver.io/donate/
media-deluge-1 |
media-deluge-1 | ───────────────────────────────────────
media-deluge-1 | GID/UID
media-deluge-1 | ───────────────────────────────────────
media-deluge-1 |
media-deluge-1 | User UID: 1000
media-deluge-1 | User GID: 100
media-deluge-1 | ───────────────────────────────────────
media-deluge-1 |
media-deluge-1 | [custom-init] No custom files found, skipping...
media-deluge-1 | Connection to 127.0.0.1 58846 port [tcp/*] succeeded!
media-deluge-1 | Connection to 127.0.0.1 8112 port [tcp/*] succeeded!
media-deluge-1 | [ls.io-init] done.
media-deluge-1 | 00:39:47 [ERROR ][deluge.ui.web.json_api :1622] Error calling method `web.upload_plugin`: 'NoneType' object has no attribute 'call'
media-deluge-1 | 00:39:47 [ERROR ][deluge.ui.web.json_api :1622] 'NoneType' object has no attribute 'call'
media-deluge-1 | Traceback (most recent call last):
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/web/json_api.py", line 157, in _handle_request
media-deluge-1 | result = self._exec_local(method, params, request)
media-deluge-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/web/json_api.py", line 119, in _exec_local
media-deluge-1 | return meth(*params)
media-deluge-1 | ^^^^^^^^^^^^^
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/web/json_api.py", line 950, in upload_plugin
media-deluge-1 | d = client.core.upload_plugin(filename, plugin_data)
media-deluge-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
media-deluge-1 | File "/usr/lib/python3.11/site-packages/deluge/ui/client.py", line 548, in __call__
media-deluge-1 | return self.daemon.call(self.base, *args, **kwargs)
media-deluge-1 | ^^^^^^^^^^^^^^^^
media-deluge-1 | AttributeError: 'NoneType' object has no attribute 'call'
Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
I can't replicate this with a clean container; the plugins list is populated with the default plugins, and I can enable them all without error.
Please make sure the plugins you're using are actually maintained, because at a glance a lot of the 3rd party plugins are still python 2.x, which will never work, and many expect old versions of python 3; the container ships with 3.12.3 at this point.
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
Just pulled this container and configured it today and running into the same issues as OP but not the exact same error... they might be related?
This is what populates in my container logs.
20:58:09 [ERROR ][deluge.ui.web.json_api :1672] Error calling method `web.upload_plugin`: [Errno 21] Is a directory: '/config/plugins/'
20:58:09 [ERROR ][deluge.ui.web.json_api :1672] [Errno 21] Is a directory: '/config/plugins/'
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/deluge/ui/web/json_api.py", line 157, in _handle_request
result = self._exec_local(method, params, request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/deluge/ui/web/json_api.py", line 119, in _exec_local
return meth(*params)
^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/deluge/ui/web/json_api.py", line 933, in upload_plugin
shutil.copyfile(path, os.path.join(get_config_dir(), 'plugins', filename))
File "/usr/lib/python3.12/shutil.py", line 262, in copyfile
with open(dst, 'wb') as fdst:
^^^^^^^^^^^^^^^
IsADirectoryError: [Errno 21] Is a directory: '/config/plugins/'
Just pulled this container and configured it today and running into the same issues as OP but not the exact same error... they might be related?
This is what populates in my container logs.
20:58:09 [ERROR ][deluge.ui.web.json_api :1672] Error calling method `web.upload_plugin`: [Errno 21] Is a directory: '/config/plugins/' 20:58:09 [ERROR ][deluge.ui.web.json_api :1672] [Errno 21] Is a directory: '/config/plugins/' Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/deluge/ui/web/json_api.py", line 157, in _handle_request result = self._exec_local(method, params, request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/deluge/ui/web/json_api.py", line 119, in _exec_local return meth(*params) ^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/deluge/ui/web/json_api.py", line 933, in upload_plugin shutil.copyfile(path, os.path.join(get_config_dir(), 'plugins', filename)) File "/usr/lib/python3.12/shutil.py", line 262, in copyfile with open(dst, 'wb') as fdst: ^^^^^^^^^^^^^^^ IsADirectoryError: [Errno 21] Is a directory: '/config/plugins/'
After clicking around in the container I was able to get it to populate... magically. In all seriousness, all I did was close the window and clicked on Preferences at the top of the page and it corrected itself. Might be an initial configuration bug. Either way, it is no longer an issue for me (probably the same for OP since they haven't replied in a while) but at the very least commenting here for someone to stumble over later.
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.