Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] eggs cannot be installed. #197

Open
1 task done
TrueOsiris opened this issue Feb 26, 2024 · 7 comments
Open
1 task done

[BUG] eggs cannot be installed. #197

TrueOsiris opened this issue Feb 26, 2024 · 7 comments

Comments

@TrueOsiris
Copy link

Is there an existing issue for this?

  • 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'
Copy link

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

@LinuxServer-CI
Copy link
Contributor

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.

@thespad
Copy link
Member

thespad commented May 18, 2024

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.

@LinuxServer-CI
Copy link
Contributor

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.

@blahdidbert
Copy link

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?

image

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/'

@blahdidbert
Copy link

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.

@LinuxServer-CI
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Issues
Development

No branches or pull requests

4 participants