Is there an existing issue for this?
Current Behavior
All built-in plugins (Label, Stats, Scheduler, Blocklist, AutoAdd, etc.) fail to load with warnings:
20:25:14 [WARNING] Cannot enable non-existent plugin Label
20:25:14 [WARNING] Cannot enable non-existent plugin Stats
20:25:14 [WARNING] Cannot enable non-existent plugin Scheduler
20:25:14 [WARNING] Cannot enable non-existent plugin Blocklist
The plugins exist as files in /usr/lib/python3.12/site-packages/deluge/plugins/ but Deluge's scanner skips them.
Expected Behavior
Built-in plugins should load normally and appear in Preferences → Plugins, as they did in Deluge 2.1.1.
Steps To Reproduce
Pull lscr.io/linuxserver/deluge:latest (2.2.0-r2-ls365)
Create container with default settings
Add any of Label/Stats/Scheduler/Blocklist to enabled_plugins in core.conf
Start container — plugins fail to load
Root cause: Deluge 2.2.0 pluginmanagerbase.py line ~118 checks os.path.isdir(item_path) for .egg entries. The built-in plugins are zipped .egg files (not directories), so the isdir check returns False and they're skipped entirely.
Workaround: Extract the eggs as directories:
bash
docker exec sh -c "
cd /usr/lib/python3.12/site-packages/deluge/plugins/
for egg in *.egg; do
if [ -f "$egg" ]; then
mkdir -p "${egg}.tmp"
unzip -o "$egg" -d "${egg}.tmp"
rm "$egg"
mv "${egg}.tmp" "$egg"
fi
done
"
docker restart
Suggested fix: Extract the built-in plugin eggs during image build so they're directories with EGG-INFO/ inside.
Environment
OS: Debian 12 (Raspberry Pi OS)
CPU architecture
arm64
Docker creation
deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: Deluge-Rpi5
environment:
- PUID=1000
- PGID=100
- TZ=Etc/UTC
- DELUGE_LOGLEVEL=warning
- DOCKER_MODS=linuxserver/mods:universal-package-install
- INSTALL_PIP_PACKAGES=python-telegram-bot>=20.0
- PYTHONPATH=/lsiopy/lib/python3.12/site-packages
restart: always
labels:
autoheal-app: true
ports:
- 8112:8112
- 6881:6881
- 6881:6881/udp
logging:
driver: "json-file"
options:
max-size: "50m"
max-file: "10"
Container logs
Linuxserver.io version: 2.2.0-r2-ls365
Build-date: 2026-02-13T11:07:36+00:00
20:04:38 [WARNING ][deluge.pluginmanagerbase:1672] Cannot enable non-existent plugin Label
20:04:38 [WARNING ][deluge.pluginmanagerbase:1672] Cannot enable non-existent plugin Stats
20:04:38 [WARNING ][deluge.pluginmanagerbase:1672] Cannot enable non-existent plugin Scheduler
20:04:38 [WARNING ][deluge.pluginmanagerbase:1672] Cannot enable non-existent plugin Blocklist
Connection to 127.0.0.1 58846 port [tcp/*] succeeded!
Connection to 127.0.0.1 8112 port [tcp/*] succeeded!
[ls.io-init] done.
Is there an existing issue for this?
Current Behavior
All built-in plugins (Label, Stats, Scheduler, Blocklist, AutoAdd, etc.) fail to load with warnings:
20:25:14 [WARNING] Cannot enable non-existent plugin Label
20:25:14 [WARNING] Cannot enable non-existent plugin Stats
20:25:14 [WARNING] Cannot enable non-existent plugin Scheduler
20:25:14 [WARNING] Cannot enable non-existent plugin Blocklist
The plugins exist as files in /usr/lib/python3.12/site-packages/deluge/plugins/ but Deluge's scanner skips them.
Expected Behavior
Built-in plugins should load normally and appear in Preferences → Plugins, as they did in Deluge 2.1.1.
Steps To Reproduce
Pull lscr.io/linuxserver/deluge:latest (2.2.0-r2-ls365)
Create container with default settings
Add any of Label/Stats/Scheduler/Blocklist to enabled_plugins in core.conf
Start container — plugins fail to load
Root cause: Deluge 2.2.0 pluginmanagerbase.py line ~118 checks os.path.isdir(item_path) for .egg entries. The built-in plugins are zipped .egg files (not directories), so the isdir check returns False and they're skipped entirely.
Workaround: Extract the eggs as directories:
bash
docker exec sh -c "
cd /usr/lib/python3.12/site-packages/deluge/plugins/
for egg in *.egg; do
if [ -f "$egg" ]; then
mkdir -p "${egg}.tmp"
unzip -o "$egg" -d "${egg}.tmp"
rm "$egg"
mv "${egg}.tmp" "$egg"
fi
done
"
docker restart
Suggested fix: Extract the built-in plugin eggs during image build so they're directories with EGG-INFO/ inside.
Environment
CPU architecture
arm64
Docker creation
deluge: image: lscr.io/linuxserver/deluge:latest container_name: Deluge-Rpi5 environment: - PUID=1000 - PGID=100 - TZ=Etc/UTC - DELUGE_LOGLEVEL=warning - DOCKER_MODS=linuxserver/mods:universal-package-install - INSTALL_PIP_PACKAGES=python-telegram-bot>=20.0 - PYTHONPATH=/lsiopy/lib/python3.12/site-packages restart: always labels: autoheal-app: true ports: - 8112:8112 - 6881:6881 - 6881:6881/udp logging: driver: "json-file" options: max-size: "50m" max-file: "10"Container logs