Thumbnail cache not writeable?
-
I've installed a new instance of Calibre Web and copied my existing Calibre library to /library. This works fine so far. However, when I upload new books, no thumbnails can be generated. Here's what I can see in the logs:
[2023-01-03 16:33:19,257] INFO {cps.fs:41} Failed to create path /app/code/calibre-web/cps/cache (Permission denied). [2023-01-03 16:33:19,374] INFO {cps.fs:41} Failed to create path /app/code/calibre-web/cps/cache (Permission denied). [2023-01-03 16:39:24,997] INFO {cps.fs:41} Failed to create path /app/code/calibre-web/cps/cache (Permission denied). [2023-01-03 16:39:24,998] ERROR {cps:1457} Exception on /cover/1921/sm [GET] Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2073, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1518, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1516, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1502, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/app/code/calibre-web/cps/usermanagement.py", line 35, in decorated_view return login_required(func)(*args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/flask_login/utils.py", line 303, in decorated_view return current_app.ensure_sync(func)(*args, **kwargs) File "/app/code/calibre-web/cps/web.py", line 1122, in get_cover return get_book_cover(book_id, cover_resolution) File "/app/code/calibre-web/cps/helper.py", line 705, in get_book_cover return get_book_cover_internal(book, use_generic_cover_on_failure=True, resolution=resolution) File "/app/code/calibre-web/cps/helper.py", line 722, in get_book_cover_internal if cache.get_cache_file_exists(thumbnail.filename, CACHE_TYPE_THUMBNAILS): File "/app/code/calibre-web/cps/fs.py", line 69, in get_cache_file_exists path = self.get_cache_file_path(filename, cache_type) File "/app/code/calibre-web/cps/fs.py", line 66, in get_cache_file_path return join(self.get_cache_file_dir(filename, cache_type), filename) if filename else None File "/app/code/calibre-web/cps/fs.py", line 55, in get_cache_file_dir path = join(self.get_cache_dir(cache_type), filename[:2]) File "/app/code/calibre-web/cps/fs.py", line 39, in get_cache_dir makedirs(self._cache_dir) File "/usr/lib/python3.8/os.py", line 223, in makedirs mkdir(name, mode) OSError: [Errno 30] Read-only file system: '/app/code/calibre-web/cps/cache'Seems that Calibre Web wants to cache thumbnails in /app/code/calibre-web/cps/cache, and afaik the code folder for Cloudron apps isn't writeable.
Are there any settings to choose the cache location or disable thumbnail caching?
Generating original cover images works fine, e.g. /cover/1922/og exists, but cover/1922/sm doesn't.
Thx a lot!
-
I've installed a new instance of Calibre Web and copied my existing Calibre library to /library. This works fine so far. However, when I upload new books, no thumbnails can be generated. Here's what I can see in the logs:
[2023-01-03 16:33:19,257] INFO {cps.fs:41} Failed to create path /app/code/calibre-web/cps/cache (Permission denied). [2023-01-03 16:33:19,374] INFO {cps.fs:41} Failed to create path /app/code/calibre-web/cps/cache (Permission denied). [2023-01-03 16:39:24,997] INFO {cps.fs:41} Failed to create path /app/code/calibre-web/cps/cache (Permission denied). [2023-01-03 16:39:24,998] ERROR {cps:1457} Exception on /cover/1921/sm [GET] Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2073, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1518, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1516, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1502, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/app/code/calibre-web/cps/usermanagement.py", line 35, in decorated_view return login_required(func)(*args, **kwargs) File "/usr/local/lib/python3.8/dist-packages/flask_login/utils.py", line 303, in decorated_view return current_app.ensure_sync(func)(*args, **kwargs) File "/app/code/calibre-web/cps/web.py", line 1122, in get_cover return get_book_cover(book_id, cover_resolution) File "/app/code/calibre-web/cps/helper.py", line 705, in get_book_cover return get_book_cover_internal(book, use_generic_cover_on_failure=True, resolution=resolution) File "/app/code/calibre-web/cps/helper.py", line 722, in get_book_cover_internal if cache.get_cache_file_exists(thumbnail.filename, CACHE_TYPE_THUMBNAILS): File "/app/code/calibre-web/cps/fs.py", line 69, in get_cache_file_exists path = self.get_cache_file_path(filename, cache_type) File "/app/code/calibre-web/cps/fs.py", line 66, in get_cache_file_path return join(self.get_cache_file_dir(filename, cache_type), filename) if filename else None File "/app/code/calibre-web/cps/fs.py", line 55, in get_cache_file_dir path = join(self.get_cache_dir(cache_type), filename[:2]) File "/app/code/calibre-web/cps/fs.py", line 39, in get_cache_dir makedirs(self._cache_dir) File "/usr/lib/python3.8/os.py", line 223, in makedirs mkdir(name, mode) OSError: [Errno 30] Read-only file system: '/app/code/calibre-web/cps/cache'Seems that Calibre Web wants to cache thumbnails in /app/code/calibre-web/cps/cache, and afaik the code folder for Cloudron apps isn't writeable.
Are there any settings to choose the cache location or disable thumbnail caching?
Generating original cover images works fine, e.g. /cover/1922/og exists, but cover/1922/sm doesn't.
Thx a lot!
@drubb I think I've hit this issue previously, can't fully remember but I think it was something to do with folder/file permissions - have a look in the File Manager for your Calibre App to check they've all got the correct permissions (Owner should be
cloudron) -
I tried to reproduce this, but I couldn't. At least in my instances this
/app/code/calibre-web/cps/cachedirectory does not exist and is also not attempted to be created. But I only have pdfs currently to test with, so maybe this is related specific formats? -
N nebulon marked this topic as a question on
-
I tried to reproduce this, but I couldn't. At least in my instances this
/app/code/calibre-web/cps/cachedirectory does not exist and is also not attempted to be created. But I only have pdfs currently to test with, so maybe this is related specific formats?@nebulon said in Thumbnail cache not writeable?:
I tried to reproduce this, but I couldn't. At least in my instances this
/app/code/calibre-web/cps/cachedirectory does not exist and is also not attempted to be created. But I only have pdfs currently to test with, so maybe this is related specific formats?Just checked and it doesn't exist in mine either (with lots of epubs, mobis and pdfs)
-
@nebulon said in Thumbnail cache not writeable?:
I tried to reproduce this, but I couldn't. At least in my instances this
/app/code/calibre-web/cps/cachedirectory does not exist and is also not attempted to be created. But I only have pdfs currently to test with, so maybe this is related specific formats?Just checked and it doesn't exist in mine either (with lots of epubs, mobis and pdfs)
@jdaviescoates of course not, it's RO.
-
Hi,
I got the same error after installing the calibre-web instance yesterday and moving(!) my existing database to the cloudron instance.
And yes, the cache directory does not exist for me either.May 24 08:13:29 OSError: [Errno 30] Read-only file system: '/app/code/calibre-web/cps/cache' May 24 08:13:29 OSError: [Errno 30] Read-only file system: '/app/code/calibre-web/cps/cache' May 24 08:13:29 OSError: [Errno 30] Read-only file system: '/app/code/calibre-web/cps/cache' May 24 08:13:29 Traceback (most recent call last): May 24 08:13:29 Traceback (most recent call last): May 24 08:13:29 [2025-05-24 06:13:29,905] INFO {cps.fs:41} Failed to create path /app/code/calibre-web/cps/cache (Permission denied).
-
J joseph has marked this topic as solved on
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
