-
-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DB location is not valid, please enter correct path #30
Comments
What is the output of |
docker exec -it calibre-web ls -la /books/metadata.db
ls: cannot access '/books/metadata.db': No such file or directory docker exec -it calibre-web ls -lah /books
total 8.0K
drwxrwxrwx 2 root root 4.0K Feb 11 18:53 .
drwxr-xr-x 1 root root 4.0K Feb 11 18:55 ..
root@rpi3:/data/docker# docker exec -it calibre-web ls -lah /config
total 64K docker exec -it calibre-web ls -lah /config
total 64K
drwxrwxrwx 2 root root 4.0K Feb 11 18:56 .
drwxr-xr-x 1 root root 4.0K Feb 11 18:55 ..
-rw-r--r-- 1 root root 52K Feb 11 18:56 app.db
-rw-r--r-- 1 root root 183 Feb 11 18:57 calibre-web.log |
This app requires you to have an existing calibre database at the /books location: https://github.com/janeczku/calibre-web/blob/master/readme.md#about |
@aptalca My fault, sorry |
no worries ;) it's a common mistake and that's why I asked for the ls for the database |
how does one generate a fresh metadata.db file ? |
Using calibre. |
Is it possible to have my metadata.db file in another location, such as /mnt/library/books? I have my books in a mounted hard drive on my raspberry pi server. |
@gabrielruiu Here's a freshly generated, empty, metadata.db. |
Thanks it works (related to the sadly closed janeczku/calibre-web#269). I just want to add that uploading a book I got a permission error and had to change the permissions on metadata.db
(I didn' t have the patience to find out which user was needed, maybe docker:docker?) |
anyone wanna do a pr where the file is baked in? |
Yeah that would be nice. Many new users must run into this, I did. |
Only if upstream project supports/promotes it. Otherwise it's too hacky for my taste |
So today I got an idea and tried it and it kinda works, I just need some help. I bash'ed into the linuxserver calibre-web container and there are all the calibre files, INSTRUCTIONS
ISSUES:I had to fix my permission issues with WHAT TO IMPLEMENT (my opinion):Option 1: add a variable to the docker-compose.yml file like CREATE_NEW_DATABASE environment:
- PUID=1000
- PGID=1000
- CREATE_NEW_DATABASE = true add an option in the Dockerfile to check this value if CREATE_NEW_DATABASE==true -> cd /app/calibre/bin && calibredb restore_database --really-do-it --with-library /books EDIT: I forgot that the Dockerfile is used during builds and not when running from docker compose. It needs to be added to the startup code Option 2: check if metadata.db exists in /books and if not create it. This way there is no need to add a variable For option 1 and 2: Permissions: add metadata.db and /books folder permissions from the Dockerfile, I don't know about those so help me here Option 3: edit the docker compose file adding a commented out line to remind people that this file is needed volumes:
- <path to data>:/config
# A metadata.db file in this folder is needed, then use /books as configuration path during the setup
- <path to calibre library>:/books Option 4: Pro: metadata.db is not baked into the image, if it stops working just remove the mod line from the docker-compose file Temporary alternative (not working)We could create our own Dockerfile FROM ghcr.io/linuxserver/calibre-web
WORKDIR /app/calibre/bin
RUN calibredb restore_database --really-do-it --with-library /books and then use it in our ---
version: "2.1"
services:
calibre-web:
build: .
container_name: calibre-web
environment:
- PUID=1000
...
|
After some tests I have a working and acceptable solution, but not integrated with the image. Since linuxserver.io allows us to run scripts when the container starts, we can just do that.
#!/bin/bash
FILE=/books/metadata.db
PUID=1000
PGID=1000
if test -f "$FILE"; then
echo "$FILE already exists, skipping generation."
else
echo "$FILE does not exists, generating..."
cd /app/calibre/bin
calibredb restore_database --really-do-it --with-library /books
echo "$FILE created, setting permissions..."
chmod a+w $FILE
# this is needed for uploads, you can remove it if you don't want to allow uploads
chown $PUID:$PGID /books
echo "Permissions fixed, use /books as library path"
fi
The script is run at every container start but it's so small I wouldn't even remove it. |
For those that have come across this issue when deploying on Kubernetes, it may be simpler to use an
initContainers:
- name: {{ .Chart.Name}}-init
image: "alpine:3.12"
env:
{{ toYaml .Values.env | indent 12 }}
volumeMounts:
- name: books
mountPath: "/books"
command: [ "sh", "-c" ]
args:
- |
FILE=/books/metadata.db
if test -f "$FILE"; then
echo "$FILE already exists, skipping generation."
else
echo "$FILE does not exists, generating..."
echo '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' | base64 -d | gzip -d - > $FILE
echo "$FILE created, setting permissions..."
chmod a+w $FILE
# this is needed for uploads, you can remove it if you don't want to allow uploads
chown $PUID:$PGID /books
echo "Permissions fixed, use /books as library path"
fi Note: From my understanding, the compressed line must not have any line breaks which unfortunately reduces the readability, however placing line breaks will cause corruption. Additionally, the environmental variables used in the shell script for the initContainer are declared in a Helm chart that I wrote, otherwise you would have to explicitly declare the environment variables in the initContainer spec. Warning: The database schema above is created using Calibre 5.9.0. Database schema changes will render the aforementioned invalid. To create a new base64 encoded database: cd name-of-directory-containing-calibre-library
gzip -c9 metadata.db | base64 > compressed-base64-encoded.db The file Hope this helps people! |
|
I'm still stumped on this issue. I have created a new metadata.db with calibre and changed the permissions and calibre-web still tells me DB Location is not Valid. |
For me, the generated metadata.db did not have read permissions after creating it with calibredb. Get the correct PUID and PGID of a user with sufficient permissions for the provided /config and /books folders (not 1000). |
Hey, I've been having this issue and was able to resolve it by ensuring the full path from my data storage to the metadata.db was appropriate. I ended up using 755 and it worked. I'd have thought that 644 was enough to read/write to the DB file, but I guess not. You might also want to ensure that your user:group has rights to the full path. |
Sorry for this crude fix in advance, but here's my quick one metadata.db (calibre-web) fix on CapRoverDownload this fresh metadata.db file on your host. Credits to iJebus
Place the metadata.db file on the /books path and modifty to be writeable
Verify
Use /books/ as Location and Click save. Worked like a charm for me! |
You can download a fresh metadata.db file from the main project |
Have also found it in e.g. Runtipi and would think also other one-click-platforms have this failure. For not linuxers it leads to 100% to a non usable app. :( |
Run:
Error:
ref: https://github.com/linuxserver/docker-calibre-web#setting-up-the-application
I've checked similar issue Initial setup /books error #28. It doesn't seems like file permission error, checked inside container and also outside on mounted volume.
The text was updated successfully, but these errors were encountered: