I’m trying to use your docker image for calibre-web. My
docker-compose.yml looks like this:
--- version: "2.1" services: calibre-web: image: lscr.io/linuxserver/calibre-web:latest container_name: calibre-web environment: - PUID=1000 - PGID=1000 - TZ=Europe/Rome - DOCKER_MODS=linuxserver/mods:universal-calibre # optional - OAUTHLIB_RELAX_TOKEN_SCOPE=1 # optional volumes: - /STORAGE/calibre/config:/config - /STORAGE/calibre/books:/books ports: - 8083:8083 restart: unless-stopped
Since I don’t have a pre-existing calibre db, I’m using the one provided by the calibre-web folks as said in the quick start section here.
Everything seems fine, but after logging in with the default credentials, if I try to navigate to some UI sections I get the following error:
Calibre-Web 500 Internal Server Error The server encountered an internal error and was unable to complete your request. There is an error in the application. Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 2073, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1519, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1517, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.10/dist-packages/flask/app.py", line 1503, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/app/calibre-web/cps/usermanagement.py", line 35, in decorated_view return login_required(func)(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/flask_login/utils.py", line 290, in decorated_view return current_app.ensure_sync(func)(*args, **kwargs) File "/app/calibre-web/cps/web.py", line 790, in index return render_books_list("newest", sort_param, 1, page) File "/app/calibre-web/cps/web.py", line 408, in render_books_list entries, random, pagination = calibre_db.fill_indexpage(page, 0, db.Books, True, order, File "/app/calibre-web/cps/db.py", line 782, in fill_indexpage return self.fill_indexpage_with_archived_books(page, database, pagesize, db_filter, order, False, File "/app/calibre-web/cps/db.py", line 789, in fill_indexpage_with_archived_books random_query = self.generate_linked_query(config_read_column, database) File "/app/calibre-web/cps/db.py", line 743, in generate_linked_query query = (self.session.query(database, ub.ArchivedBook.is_archived, ub.ReadBook.read_status) AttributeError: 'NoneType' object has no attribute 'query'
I described this error in greater detail here. According to the calibre-web people, this is a permissions error. But I don’t know how this could happen. I checked my UID and GID and are the same values reported in the docker-compose file:
$ id giacomo uid=1000(giacomo) gid=1000(giacomo) groups=1000(giacomo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd),117(docker),1002(storage)
I even tried to download the database from inside the Docker container and
chown it to the user
abc, since it seems that it’s the user that’s running calibre-web inside the container, but still nothing. What am I missing?
Thank you for your help,
Edit: just to be precise, after filling the GitHub issue I actually decided to mount a directory that isn’t a Nextcloud one inside the Docker container, as I figured out that without an auto-import feature, it doesn’t make sense to have a Nextcloud directory mounted there.