Calibre-web Database Path and Download Permissions 500 Internal Server Error Issue

Recently built with DockerCalibre-Web(book management reading platform), there are some problems, here is the solution.

Calibre Database Path

First, in the web interface, you need to fill in the Calibre database path, which needs to go inside the Docker container, create the database, and add write permissions.

Start by looking at the directory structure within the container and go to bin.

docker exec -it calibre-web sh

ls /

cd bin

Create an empty database.

calibredb add --empty --with-library /books

If the above command succeeds, set the correct permissions.

chmod -R 777 /books

Initialize the database.

calibredb add --empty --with-library /books

Exit the container.

exit

OPDS

The OPDS-enabled reader makes it easier to download and read books from Calibre-web.

The correct format for an OPDS link is:http(s)://username:password@ip/hostname:port/opds

ip/hostname:port, which can also be the website domain name.

Recommended in iOSCantook

CleanShot 2024-11-25 at 14.15.29@2x.png

Download Permission Issues

When bundling the OPDS reader, I found that I couldn’t download the books properly, and the web version had the same problem, but I could still read them. Error reported: 500 Internal Server Error.

This part of the error is relatively new and a solution was found in the Github issue. Related to PUID/PGID, the ID of the user running Docker should be used, which ensures consistent permissions inside and outside the container.

return todocker-compose.ymlin the docker, set both to 1000, and restart the docker to fix it.

services:   
  calibre-web:     
    environment:       
      - PUID=1000       
      - PGID=1000