calibre
是一款电子书管理软件,使用 docker
部署 linuxserver/calibre-web
时,在初始化界面需要输入 选项,但是不管怎么输入,都会报错:
DB位置无效,请输入正确路径
对应的英文报错为:
DB location is not valid, please enter correct path
截图如下:
google
上的搜出来的好多答案说是目录权限导致的,但是实际尝试后发现并不能解决问题。
自己一番瞎尝试之后捣鼓出了解决的办法,出现此问题的原因其实是指定的目录下,不存在初始的数据库文件 metadata.db
导致的报错。
问题定位到了,解决办法就好找了,docker hub
上果然存在 linuxserver/calibre
镜像,这个镜像不是我们想要部署的 calibre-web
,但是可以通过他初始化 metdata.db
文件出来。
执行命令:
# your-local-dir 是映射的宿主机目录,初始化完成后,metdata.db 文件就从这个目录里取。
docker run --rm -p:8080:8080 -p 8081:8081 -v your-local-dir:/config linuxserver/calibre
然后访问 8080
端口,按照初始化提示一路 next
就行了,注意默认的安装路径是 /config
,千万不要更改,不然生成的 metdata.db
就不会出现在宿主机上了。
初始化完成后,从刚才的目录中取出 metdata.db
文件即可。
然后重新部署 linuxserver/calibre-web
,在初始化界面中,只要设置的 Calibre 数据库位置
中存在刚才的 metdata.db
文件就可以啦。
映射到宿主机上的目录需要将权限设置为 777 !!!!!,不然上传书籍的时候会报没有写权限的错!!!
配置更新成功,点击登录按钮就可以愉快的进行下一步啦。