mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-10-03 23:12:41 +02:00
* fix(calibre-web): make kepubify executable so Kobo sync can be enabled The LinuxServer base image installs kepubify with `curl -o /usr/bin/kepubify` and never marks it executable, so the file ships as mode 0644. Calibre-web's resolve_binary_path() only accepts a binary that passes os.access(X_OK), so enabling Kobo sync failed with "Kepubify binary not found" even when the path was set to /usr/bin by hand. Verified against the published layer of lscr.io/linuxserver/calibre-web:arm64v8-latest, whose tar header for usr/bin/kepubify reads `-rw-r--r-- 0/0 3670016`. Set mode 0755 on it at build time, unguarded: if a future base image stops shipping the binary, the build should fail rather than ship a broken add-on. Calibre-web separately only autodetects kepubify under /opt/kepubify, never /usr/bin, so the setting was stored empty on the first start and never retried. Fill it in with /usr/bin from the cont-init script that already applies conditional settings to app.db, and only while it is still empty, so a path the user set by hand is never overwritten. Fixes https://github.com/alexbelgium/hassio-addons/issues/3040 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(calibre-web): publish kepubify under a name calibre-web accepts The first attempt was incomplete. It read binary_helper.py at calibre-web master, which accepts a bare "kepubify"; the shipped 0.6.27 tag does not: SUPPORTED_KEPUBIFY_BINARIES = ("kepubify-linux-64bit", "kepubify-linux-32bit") So there are two independent defects, and the chmod only fixed one. The base image installs the converter with `curl -o /usr/bin/kepubify`, which leaves it mode 0644 *and* names it something calibre-web will not look for. A symlink alone does not fix it either: os.access() follows the symlink and tests the target, and the target has no execute bit for anyone, root included. Verified against the exact 0.6.27 resolution logic, on a scratch tree: symlink only -> '' (still broken) chmod only -> '' (still broken) chmod 0755 + symlink -> '/opt/kepubify' Put the symlink in /opt/kepubify, which is where calibre-web's own autodetect_kepubify_binary() already looks, rather than in /usr/bin where only our own database write would find it. init_config() re-runs that detection on every start while the column is NULL, so calibre-web now configures the path itself and a fresh install needs no second restart. That in turn shrinks the cont-init statement: instead of hardcoding a path it resets an empty value to NULL, which un-sticks calibre-web's own detection for installs that already persisted "". A path set by hand is not empty and is left alone. Mode measured on the published add-on image, all 28 layers scanned: ghcr.io/alexbelgium/calibre_web-aarch64:0.6.27.3 carries usr/bin/kepubify at mode 0o644 in the base layer and nowhere else. Reported by @andMaximus in https://github.com/alexbelgium/hassio-addons/issues/3040 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(calibre-web): keep /usr/bin resolving for the manual workaround CodeRabbit spotted that an install already storing "/usr/bin" stays broken: that value is not empty, so the cont-init statement leaves it alone, and with the symlink only in /opt/kepubify it no longer resolves under 0.6.27. The case is real and narrow. A failed save never persists the value -- _configuration_result() calls config.load() on the error path, discarding it -- so the only way to hold "/usr/bin" is a save that succeeded, which requires having first applied the workaround published in the issue thread: ln -sf /usr/bin/kepubify /usr/bin/kepubify-linux-64bit Anyone who did that, and anyone copying that comment, would have been broken again by this PR. Fixed with one more symlink rather than CodeRabbit's suggested migration of "/usr/bin" back to NULL, because that would overwrite a path the user set by hand. Making their setting keep working is better than resetting it. Verified against the 0.6.27 resolution logic: symlink in /opt only stored '/usr/bin' -> '' plus /usr/bin symlink stored '/usr/bin' -> '/usr/bin/kepubify-linux-64bit' autodetect -> '/opt/kepubify' Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
12 KiB
12 KiB
0.6.27.4 (2026-09-04)
- Fix: Kobo sync could not be enabled, failing with "Kepubify binary not found" even when the path was set by hand. The LinuxServer base image installs the converter as
/usr/bin/kepubifywithcurl -o, which leaves it mode 0644 and gives it a name calibre-web does not accept :binary_helper.pyonly takeskepubify-linux-64bitorkepubify-linux-32bit, and only whenos.access(X_OK)passes. The addon now makes the binary executable and publishes it as/opt/kepubify/kepubify-linux-64bit, the directory calibre-web's own autodetection already probes, so the path is filled in without any manual step (https://github.com/alexbelgium/hassio-addons/issues/3040) - Fix: on installs created before that change, calibre-web had already run its autodetection once, found nothing usable and stored an empty path, and it never retries. An empty path is now reset so calibre-web detects the converter itself at the next start. A path set by hand is left alone
- Fix:
/usr/binalso keeps working as a converter path, so the setting stored by anyone who applied the manualln -sf /usr/bin/kepubify /usr/bin/kepubify-linux-64bitworkaround keeps resolving after the update instead of silently breaking again
0.6.27.3 (2026-08-30)
- Doc: explain in the README that Calibre-Web's optional extras (metadata, kobo, gdrive, gmail, goodreads, ldap, oauth, comics) are already installed by the LinuxServer base image, that
pip install calibreweb[...]inside the container is useless and not persistent, and that the cover fields on the Edit Metadata page are gated onEnable Uploadsplus the user'sUploadpermission (https://github.com/alexbelgium/hassio-addons/issues/1143) - Fix: remove the Dockerfile step that claimed to install the Calibre binaries into
/opt/calibre. There is nowgetin the image, so the command failed silently and left the layer empty; the binaries are and were provided at start by the defaultlinuxserver/mods:universal-calibredocker mod
0.6.27.2 (2026-08-23)
- Fix: trust the whole supervisor network range for the ingress auth header instead of the addon's own address, which changes across restarts. The list is only written when that range is missing, so an entry added in the calibre-web admin page is no longer erased on every start (https://github.com/alexbelgium/hassio-addons/pull/3010)
0.6.27.1 (2026-08-23)
- Fix: Ingress login was rejected since 0.6.27, which only accepts the reverse proxy auth header from trusted source addresses. The addon now adds its own ip to that list (https://github.com/alexbelgium/hassio-addons/issues/3003)
0.6.27 (2026-08-13)
- Update to latest version from linuxserver/docker-calibre-web (changelog : https://github.com/linuxserver/docker-calibre-web/releases)
0.6.26-2 (2026-04-06)
- Fix: Install calibre (calibredb) at build time to fix 500 error when downloading books
0.6.26 (2026-02-07)
- Update to latest version from linuxserver/docker-calibre-web (changelog : https://github.com/linuxserver/docker-calibre-web/releases)
- Added support for configuring extra environment variables via the
env_varsadd-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
0.6.25 (2025-08-30)
- Update to latest version from linuxserver/docker-calibre-web (changelog : https://github.com/linuxserver/docker-calibre-web/releases)
0.6.24-10 (2025-05-28)
- Fix migration script
- Allow access to Calibre folder through /addon_configs/xxx-Calibre
0.6.24 (2024-11-23)
- Update to latest version from linuxserver/docker-calibre-web (changelog : https://github.com/linuxserver/docker-calibre-web/releases)
0.6.23 (2024-08-10)
- Update to latest version from linuxserver/docker-calibre-web (changelog : https://github.com/linuxserver/docker-calibre-web/releases)
0.6.22 (2024-07-13)
- Update to latest version from linuxserver/docker-calibre-web (changelog : https://github.com/linuxserver/docker-calibre-web/releases)
0.6.21-7 (2024-01-12)
- Minor bugs fixed
0.6.21-5 (2024-01-12)
- ⚠ MAJOR CHANGE : switch to the new config logic from homeassistant. Your configuration files will have migrated from /config/hassio_addons/calibre-web to a folder only accessible from my Filebrowser addon called /addon_configs/something-calibre-web. This avoids the addon to mess with your homeassistant configuration folder, and allows to backup the options. Migration of data, custom configs, and custom scripts should be automatic. Please be sure to update all your links however ! For more information, see here : https://developers.home-assistant.io/blog/2023/11/06/public-addon-config/ https://github.com/alexbelgium/hassio-addons/issues/1177
0.6.21-2 (2023-11-05)
- Minor bugs fixed
- Fix : https://github.com/alexbelgium/hassio-addons/issues/1050 @klassm
0.6.21 (2023-10-28)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20 (2023-08-26)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls225 (2023-08-26)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls224 (2023-08-19)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls222 (2023-08-12)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls221 (2023-08-05)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls220 (2023-07-23)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls219 (2023-07-22)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls218 (2023-07-15)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls217 (2023-07-08)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls216 (2023-07-01)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls215 (2023-06-24)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls214 (2023-06-17)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls213 (2023-06-10)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls212 (2023-06-03)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls211-2 (2023-05-30)
- Minor bugs fixed
- Fix : allow app to start on clean install @PaulAmor https://github.com/alexbelgium/hassio-addons/issues/850
0.6.20-ls211 (2023-05-27)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls210 (2023-05-19)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls209 (2023-05-13)
- Update to latest version from linuxserver/docker-calibre-web
- Feat : cifsdomain added
0.6.20-ls208-2 (2023-05-06)
- Minor bugs fixed
0.6.20-ls208 (2023-05-06)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls207-6 (2023-05-05)
- Minor bugs fixed
0.6.20-ls207-3 (2023-05-05)
- Minor bugs fixed
0.6.20-ls207-2 (2023-05-05)
- Minor bugs fixed
- Add libnss3 https://github.com/alexbelgium/hassio-addons/issues/824
0.6.20-ls207 (2023-04-23)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls206 (2023-04-21)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls205 (2023-04-15)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls203 (2023-04-01)
- Update to latest version from linuxserver/docker-calibre-web
0.6.20-ls202 (2023-03-31)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls200 (2023-03-24)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls199 (2023-03-18)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls198 (2023-03-11)
- Update to latest version from linuxserver/docker-calibre-web
- Implemented healthcheck
0.6.19-ls197 (2023-03-04)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls196 (2023-02-25)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls195 (2023-02-19)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls194 (2023-02-04)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls193 (2023-01-28)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls192 (2023-01-14)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls191 (2022-12-31)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls190 (2022-12-25)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls189 (2022-12-17)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls187 (2022-12-10)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls186 (2022-12-01)
- Update to latest version from linuxserver/docker-calibre-web
- WARNING : update to supervisor 2022.11 before installing
0.6.19-ls185 (2022-11-26)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls184 (2022-11-19)
- Update to latest version from linuxserver/docker-calibre-web
- Use nobrl (#556)
0.6.19-ls183 (2022-11-11)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls182 (2022-11-02)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls181 (2022-10-27)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls180 (2022-10-25)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls179 (2022-10-20)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls178 (2022-10-13)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls177 (2022-10-06)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls176 (2022-09-28)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls175 (2022-09-22)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls174 (2022-09-15)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls173 (2022-09-09)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls172 (2022-08-25)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls171 (2022-08-11)
- Update to latest version from linuxserver/docker-calibre-web
0.6.19-ls170 (2022-08-04)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls170 (2022-07-28)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls169 (2022-07-16)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls168 (2022-07-14)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls167 (2022-06-30)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls166 (2022-06-23)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls165 (2022-06-16)
- Update to latest version from linuxserver/docker-calibre-web
- Feat : ingress autologin (thanks @met67)
0.6.18-ls164 (2022-06-09)
- Update to latest version from linuxserver/docker-calibre-web
- Fix : ingress (with @met67)
0.6.18-ls163 (2022-05-26)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls162 (2022-05-19)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls161 (2022-05-11)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls160 (2022-05-05)
- Update to latest version from linuxserver/docker-calibre-web
0.6.18-ls159 (2022-05-03)
- Update to latest version from linuxserver/docker-calibre-web
v5.41.0-ls158 (2022-04-29)
- Update to latest version from linuxserver/docker-calibre-web
5.41.0 (2022-04-29)
- Update to latest version from linuxserver/docker-calibre-web
- Initial release