What changed
Follow-up to v4.0.40. Local Docker testing found that the original release was incomplete: just dropping .zip files in /config/.config/calibre/plugins/ didn't make Calibre load them at conversion time — the registration step (calibre-customize -a) is load-bearing.
v4.0.41 closes the gap. The bootstrap now auto-registers any .zip files it finds in the plugins folder on first boot.
To use it
# docker-compose.yml
services:
calibre-web-automated:
environment:
- CWA_CALIBRE_USER_PLUGINS=true# 1. Drop your Calibre plugin .zip files
mkdir -p /path/to/cwa/config/.config/calibre/plugins
cp ~/.config/calibre/plugins/*.zip /path/to/cwa/config/.config/calibre/plugins/
# 2. Pull + restart
docker compose pull
docker compose up -d --force-recreate calibre-web-automated
# 3. Watch the boot log
docker logs calibre-web-automated | grep "Registered Calibre plugin"
# [cwa-auto-library] Registered Calibre plugin: DeDRM (10, 0, 3)
# [cwa-auto-library] Registered Calibre plugin: Obok DeDRM (10, 0, 3)
# [cwa-auto-library] Registered Calibre plugin: <other plugins>Restart triggers re-registration only on a fresh customize.py.json. Subsequent boots short-circuit and log Already registered (skipping).
To get the fix
docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.0.41
Anything else off?
Open an issue — the tracker stays watched.
Credit
Reported originally by @AllegedlyUndead. Substantial testing notes from @ErikThorsell, @etfeet, @jonasherzfeld, @pavel-pi.
Full changelog: v4.0.40...v4.0.41