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!