<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Thumbnail cache not writeable?]]></title><description><![CDATA[<p dir="auto">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:</p>
<pre><code>[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'
</code></pre>
<p dir="auto">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.</p>
<p dir="auto">Are there any settings to choose the cache location or disable thumbnail caching?</p>
<p dir="auto">Generating original cover images works fine, e.g. /cover/1922/og exists, but cover/1922/sm doesn't.</p>
<p dir="auto">Thx a lot!</p>
]]></description><link>https://forum.cloudron.io/topic/8346/thumbnail-cache-not-writeable</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Mar 2026 21:44:07 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/8346.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Jan 2023 17:57:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Mon, 26 May 2025 09:40:17 GMT]]></title><description><![CDATA[<p dir="auto">Works perfectly!<br />
All thumbnails are there, thx a lot! <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=c3aa4c12b7e" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://forum.cloudron.io/post/107694</link><guid isPermaLink="true">https://forum.cloudron.io/post/107694</guid><dc:creator><![CDATA[hpz24]]></dc:creator><pubDate>Mon, 26 May 2025 09:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Mon, 26 May 2025 09:22:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hpz24" aria-label="Profile: hpz24">@<bdi>hpz24</bdi></a> I couldn't reproduce it myself but there is a CACHE_DIR env var to be set . It defaults to BASE_DIR/cps/cache per upstream code. I have set this variable in the latest package, can you update and check?</p>
]]></description><link>https://forum.cloudron.io/post/107693</link><guid isPermaLink="true">https://forum.cloudron.io/post/107693</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 26 May 2025 09:22:39 GMT</pubDate></item><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Sat, 24 May 2025 06:23:10 GMT]]></title><description><![CDATA[<p dir="auto">Hi,<br />
I got the same error after installing the calibre-web instance yesterday and moving(!) my existing database to the cloudron instance.<br />
And yes, the cache directory does not exist for me either.</p>
<pre><code>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).
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/1748067482191-aaa71201-9324-4082-ba7d-b97f0f2dc881-image-resized.png" alt="image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.cloudron.io/post/107621</link><guid isPermaLink="true">https://forum.cloudron.io/post/107621</guid><dc:creator><![CDATA[hpz24]]></dc:creator><pubDate>Sat, 24 May 2025 06:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Mon, 14 Aug 2023 15:04:41 GMT]]></title><description><![CDATA[<p dir="auto">Is there any more info on this and can someone reproduce this?</p>
]]></description><link>https://forum.cloudron.io/post/71843</link><guid isPermaLink="true">https://forum.cloudron.io/post/71843</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Mon, 14 Aug 2023 15:04:41 GMT</pubDate></item><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Tue, 10 Jan 2023 17:20:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jdaviescoates" aria-label="Profile: jdaviescoates">@<bdi>jdaviescoates</bdi></a> of course not, it's RO.</p>
]]></description><link>https://forum.cloudron.io/post/59798</link><guid isPermaLink="true">https://forum.cloudron.io/post/59798</guid><dc:creator><![CDATA[robi]]></dc:creator><pubDate>Tue, 10 Jan 2023 17:20:38 GMT</pubDate></item><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Tue, 10 Jan 2023 15:15:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> said in <a href="/post/59765">Thumbnail cache not writeable?</a>:</p>
<blockquote>
<p dir="auto">I tried to reproduce this, but I couldn't. At least in my instances this <code>/app/code/calibre-web/cps/cache</code> directory 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?</p>
</blockquote>
<p dir="auto">Just checked and it doesn't exist in mine either (with lots of epubs, mobis and pdfs)</p>
]]></description><link>https://forum.cloudron.io/post/59785</link><guid isPermaLink="true">https://forum.cloudron.io/post/59785</guid><dc:creator><![CDATA[jdaviescoates]]></dc:creator><pubDate>Tue, 10 Jan 2023 15:15:09 GMT</pubDate></item><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Tue, 10 Jan 2023 13:24:00 GMT]]></title><description><![CDATA[<p dir="auto">I tried to reproduce this, but I couldn't. At least in my instances this <code>/app/code/calibre-web/cps/cache</code> directory 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?</p>
]]></description><link>https://forum.cloudron.io/post/59765</link><guid isPermaLink="true">https://forum.cloudron.io/post/59765</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Tue, 10 Jan 2023 13:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to Thumbnail cache not writeable? on Tue, 03 Jan 2023 22:57:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/drubb" aria-label="Profile: drubb">@<bdi>drubb</bdi></a> 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 <code>cloudron</code>)</p>
]]></description><link>https://forum.cloudron.io/post/59184</link><guid isPermaLink="true">https://forum.cloudron.io/post/59184</guid><dc:creator><![CDATA[jdaviescoates]]></dc:creator><pubDate>Tue, 03 Jan 2023 22:57:14 GMT</pubDate></item></channel></rss>