Commit Graph
260 Commits
Author SHA1 Message Date
crocodilestick 21d9dec134 Fixed ingest on upload functionality 2025-08-25 15:02:14 +02:00
crocodilestick c286887ad9 [Feature Request] Ability to Disable the Auto Library Service Dir Walk
Fixes #383

Added DISABLE_LIBRARY_AUTO_MOUNT ENV to allow users to turn of the library auto-mount service at start up if it isn't desired
2025-08-20 15:23:49 +02:00
crocodilestick 976e56bc06 CWA can now autodetect if it's deployed via Docker for Windows or Docker for Mac and will adjust the monitoring scripts to use polling instead of inotify accordingly.
[bug] Ingest Not Triggering Automatically when hosted on Docker for Windows or Docker for Maxc
Fixes #402
2025-08-19 17:26:47 +02:00
crocodilestick 914f6c48f5 - Added an alternative/ fallback detection method to inotifywait (simple polling).
- Polling will also be used when NETWORK_SHARE_MODE is enabled as it has better reliability with shares and using polling over inotify can be activated manually by passing the CWA_WATCH_MODE: "poll" env variable
- If the user reaches max_user_watches limit, the cwa-ingest-service & metadata-change-detector processes will now dynamically fallback to polling

[bug] Synology - hitting inotify.max_user_watches limit
Fixes #311
[Feature Request] Skip actions on read-only data
Fixes #229
2025-08-19 16:58:41 +02:00
crocodilestick a719e14a6c SQLite stability and concurrency:
- Added connection timeouts everywhere:
SQLAlchemy engines: connect_args={'timeout': 30}
sqlite3 direct connects: timeout=30 across scripts

- Enabled WAL mode on local disks and made it conditional via an environment flag.
-Added small retry/backoff in read-only UI probes to tolerate transient “database is locked.”

Increased Network share support (NFS/SMB):

- Introduced NETWORK_SHARE_MODE to disable WAL and suppress permission-changing operations that can break on network filesystems.
- Suppressed recursive chown when NETWORK_SHARE_MODE is true:
Python:
scripts/auto_library.py: skip chown for /config and /calibre-library during app.db/new library setup
scripts/ingest_processor.py: skip chown of library in set_library_permissions
scripts/convert_library.py: skip chown of convert-library.log; skip library chown
scripts/kindle_epub_fixer.py: skip chown of epub-fixer.log
cps/updater.py: disable os.chown during updates when flag is enabled
Shell:
scripts/setup-cwa.sh: guard chown of /etc/s6-overlay
root/etc/s6-overlay/s6-rc.d/cwa-init/run: guard initial chown of /config and cps/cache; guard requiredDirs loop

Documentation and configuration:

- README: Added “Network shares and SQLite WAL mode” section; documented that NETWORK_SHARE_MODE disables WAL and chown behavior for safety on network shares.
- docker-compose.yml and docker-compose.yml.dev: Exposed NETWORK_SHARE_MODE (default false) in environment.
Fixed a minor YAML indentation issue during compose edits.

Impacts on the Project:

- Fewer “database is locked” errors due to timeouts, gentle retries, and WAL on local disks.
- Safer behavior on NFS/SMB: WAL disabled and chown suppressed when NETWORK_SHARE_MODE=true.
- Clearer guidance for users via README and compose templates.

[bug] chown failed
Fixes #175
Calibre-Web-automated [bug]
Fixes #530
2025-08-18 12:35:12 +02:00
crocodilestick 500b0d0774 Changed STABLE_VERSION & INSTALLED_VERSION constants so that they're set once at init by the cwa-init service to avoid potential rate-limiting issues and potential slight performance impacts of previous solution 2025-08-12 08:23:49 +02:00
crocodilestick 39330bc752 Fixes [bug] 500 Internal Server Error
Fixes #504

Fixed race condition in init s6 services sometimes resulting in CWA instance being created before a library db has been mounted or created
2025-08-11 16:36:15 +02:00
crocodilestick c57402ec36 Stripping the ABI tags for Qt6 packages during image creation while extending compatibility to users running older kernels, breaks some Calibre functionality e.g. being able to work with PDFs.
Instead, future images will once again be built with the tags, providing users running modern kernels full functionality and during cwa-init, the user's kernel version will be checked and if its below the minimum required, the tags will THEN be dynamically removed and a warning served so that they can continue to use CWA, albeit with reduced functionality.

Fixes [bug] PDFs can get deleted while trying to save Fetch metadata
Fixes #407
2025-08-11 15:20:31 +02:00
crocodilestick 2c8276c753 Incorporated the init-calibre-web-config into cwa-init and changed running order so that cwa-init runs in the place of init-calibre-web-config and svc-calibre-web-automated runs after cwa-init 2025-08-11 14:55:39 +02:00
crocodilestick 4dfbcba34d Reverted unwanted changes 2025-08-09 23:42:20 +02:00
crocodilestick 2dd19f913e REFACTOR - Centralized path management by creating paths.py to replace hard-coded paths across multiple scripts 2025-08-09 22:25:38 +02:00
crocodilestick 0c891d259f REFACTOR - Moved audiobook.py, auto_library.py, auto_zip.py, convert_library.py, cover_enforcer.py, cwa_db.py, cwa_functions.py, cwa_schema.sql, ingest_processor.py & kindle_epub_fixer.py to the cps dir, changing dependencies as necessary 2025-08-09 20:21:58 +02:00
crocodilestick d8cc97c880 Fix branding 2025-08-04 16:54:43 +02:00
crocodilestick d10ba0ca4e Reversed switch from lsiown to chown as it was causing issues for some users 2025-08-02 19:10:52 +02:00
crocodilestick 584e757697 Attempting to fix some of the issues users utilising network shares have with chown by switching out chow commands for lsiown which should be more compatible. Also adding cps.py to repo which was forgotten 2025-08-02 14:50:56 +02:00
crocodilestick 73eecc175b MAJOR REFACTOR
- The CWA repo now contains all of the core required files it needs & no longer directly uses the latest Calibre-Web releases & linuxserver/docker-calibre-web repo to build it's images
- This change should hopefully make contributing to the project much more intuitive for those interested as well making CWA easier to develop for in general

Bugfixes:

- Fixed typo in amazonjp.py preventing it from working
2025-08-02 12:04:05 +02:00
crocodilestick bc068eccac Merge branch 'main' of https://github.com/crocodilestick/Calibre-Web-Automated 2025-08-01 18:31:21 +02:00
crocodilestick 59144b609b Fixed wrong Server URL value displaying in kosync_plugin.html 2025-08-01 18:31:18 +02:00
alva 103e4506ba Merge branch 'crocodilestick:main' into main 2025-08-01 17:57:31 +02:00
alva 42aac68f87 Fix for #427
corrected intendation so it fixes it for changed and unchanged values
2025-08-01 17:56:59 +02:00
alva 4b3dd425d8 Fix for #327 part2
the earlier commit was only working for changed date time values due to wrong intended ion

Hopefully i now covered all problems with saving date time in custom columns
2025-08-01 17:50:22 +02:00
crocodilestick 87861a38ad Fixes #444 2025-08-01 16:50:39 +02:00
alva-seal 15bf056f42 Added a fix for #427
custom columns with dates where not converted to a string before the json converter and caused errors.
2025-08-01 12:12:57 +00:00
crocodilestick b1cbb4ce20 Prevented the Tasks table from inheriting both "table-bordered" and "table-no-bordered" classes resulting in an ugly mess 2025-08-01 00:41:15 +02:00
crocodilestick 5b7f941835 Fixed the alphabetization of the metadata providers
Made the hover animation on covers less ugly and snappier.
Made the pagination elements less obnoxiously long
2025-07-31 23:49:16 +02:00
crocodilestick 42965498f0 Fixed html showing in books title.
Fixed list of metadata providers not being alphabetized
Fixed filter buttons overlapping pagination elements on homepage
Fixed auto-ingest setting options not displaying properly
Fixed star ratings being wiped when fetching metadata
2025-07-31 19:20:46 +02:00
crocodilestick 6822c7ab55 Fixed current automerge option not being the one shown in the CWA settings page.
Fixed  Enable Hardcover checkbox being unchecked regardless of whether the feature was enabled or not.

Fixed issue of existing ratings or previously enter ratings being wiped after fetching metadata
2025-07-31 18:10:22 +02:00
crocodilestick 4e09ffbe7c Updated the README to highlight CWA's affiliate projects and their creators as well as minor UI tweaks 2025-07-31 15:55:36 +02:00
crocodilestick 1e6b335135 Actaully fixed sort issue from last 2 commits 2025-07-29 17:39:44 +02:00
crocodilestick cda79008a4 Fixed sort error introduced in last commit 2025-07-29 17:14:33 +02:00
crocodilestick 4047ee2585 Added timeout fallback to amazonjp metadata provider 2025-07-29 16:11:19 +02:00
CrocodileStick 45d5064189 Merge pull request #438 from Hobogrammer/amazonjp
Feature: Add AmazonJp metadata provider
2025-07-29 16:03:03 +02:00
crocodilestick 936a127d68 Fixed styling of read indicators, mobile side menu, users settings table. Also alphabetised the metadata providers list 2025-07-29 16:02:01 +02:00
crocodilestick 34168a80fa Revamped the main page css (mobile & desktop) in dark mode 2025-07-29 01:05:27 +02:00
Hobogrammer be6a66b222 Add AmazonJp metadata provider 2025-07-28 22:27:02 +00:00
crocodilestick 8f6bda1d8f Fixed ugly read indicators in dark mode 2025-07-29 00:05:26 +02:00
crocodilestick 429a007e9d Fixed syntax errors and attempted to make it so that the cover display is centered in dark mode but normal in light mode 2025-07-28 23:25:51 +02:00
crocodilestick 5e5cb2ad83 Fixed profile picture functionality and updated dependencies 2025-07-28 22:47:47 +02:00
crocodilestick c6b6cc5413 Fixed fetching metadata from amazon occassionally hanging the app, made the mail server more compatible with Gmail, apperance of mobile settings modal in ebook_viewer fixed,. Testing Isotope plugin that is a version of fitRows but centered to the screen to make the UI more attractive, especially on mobile. 2025-07-28 16:37:38 +02:00
crocodilestick 0df93ea5e5 More polish and CSS fixes 2025-07-28 15:45:31 +02:00
crocodilestick 10db3dea97 Further polished kosync plugin page, fixing magic qr functionality 2025-07-28 12:24:50 +02:00
crocodilestick 4311d477ab Fixed logger issue with profile picture page 2025-07-28 08:59:20 +02:00
crocodilestick 83a7bfcba8 Fixed issue preventing last dev build from booting 2025-07-28 08:19:39 +02:00
crocodilestick c5cc75ba86 Fixed issue #437 2025-07-28 00:09:31 +02:00
crocodilestick f992b9c268 Made the profile picture page / function less of a mess, finished polishing the kosync plugin page, 2025-07-27 23:54:56 +02:00
crocodilestick 6e2e489539 Fixes to plugin support, changed approach to users adding their plugins and fixes to mobile styling 2025-07-27 12:30:39 +02:00
crocodilestick 9bb91dfa6e Finished polish on kosync page 2025-07-25 18:02:00 +02:00
crocodilestick 6260183e0b Merged Magic QR code to the main files instead of using weird patches, also fixing Dockerfile 2025-07-25 17:25:59 +02:00
crocodilestick 4308caaee2 Fixed alot of css and added polish to the new auto merge settings section of CWA settings and the kosync plugin page as well as adding a link to the page in the admin panel 2025-07-25 16:54:43 +02:00
Zane Wolfgang Pickett 58bd6c1746 Upgrade to use RFC 7617 HTTP Basic Authentication 2025-07-24 10:25:19 -07:00