-
问题描述:
- 最近部署Calibre-web之后开始导入图书,发现在图书上传完成后立刻执行格式转换的话会失败,提示
Id #xx is not present in database:
- 停止容器后重新启动,会发现这两本图书顺利录入到了数据库中,此时转换格式也会成功。
- 这个情况看起来像是后两本图书的上传和元数据修改都在临时文件中,在容器停止的时候才被写入数据库中,但我不太确定实现原理是不是这样的。
- 运行环境:主机为armbian系统,RK3566 CPU,使用最新的
johngong/calibre-web:latest镜像,版本是0.6.25
name: calibre-web
networks:
docker-vlan:
external: True
services:
calibre-web:
container_name: calibre-web
image: johngong/calibre-web:latest
restart: unless-stopped
networks:
- docker-vlan
ports:
- 60017:${CALIBRE_PORT:-8083}
- 60018:${CALIBRE_SERVER_PORT:-8080}
volumes:
- ./config:/config
- ./metadata_source/NewDouban.py:/usr/local/calibre-web/app/cps/metadata_provider/NewDouban.py
- /mnt/SSD/NAS/Media/Books/Calibre-Library:/library
- /mnt/SSD/NAS/Media/Books/Calibre-auto-add:/autoaddbooks
env_file:
- .env
# Runtime
TZ=America/New_York
PUID=1000
PGID=1000
# Container
CALIBRE_PORT=8083
# User
CALIBRE_SERVER_USER=admin
CALIBRE_SERVER_PASSWORD=<password>
# Chinese support
CALIBRE_ASCII_FILENAME=false # Support Chinese characters
CALIBRE_SERVER_WEB_LANGUAGE=zh_CN
# Calibre-server
ENABLE_CALIBRE_SERVER=true
ENABLE_CHOWN_LIBRARY=true
CALIBRE_SERVER_PORT=8080
ENABLE_CALIBREDB_URLLIBRARYPATH=true
- 如果通过环境变量
ENABLE_CALIBRE_SERVER=false关闭calibre-server之后,问题解决,上传多少文件都可以正常转换。但我是希望保留calibre-server的。
请问有什么好的解决方法吗?
问题描述:
Id #xx is not present in database:复现操作:
通过8080端口访问
calibre-server,会发现除了第一本上传并转换成功的图书"Foundation and Earth"以外,实际上另外两本书籍"Prelude to Foundation"和"Forward the Foundation"的文件和元数据似乎并没有写入到SQLite数据库中(或者是calibre-server没有读取到最新的数据库?不确定),在calibre-server的webUI中看不到最新上传的图书(另外四本是容器重启前已经上传了的图书):johngong/calibre-web:latest镜像,版本是0.6.25docker-compose.yml配置如下:.env文件中:ENABLE_CALIBRE_SERVER=false关闭calibre-server之后,问题解决,上传多少文件都可以正常转换。但我是希望保留calibre-server的。请问有什么好的解决方法吗?