一直采用Calibre来管理电子书。Calibre是一款免费,而且非常活跃的电子书管理软件。他的强大之处在于,当你有一个idea的时候,你总会发现有人已经为你实现了这个idea。
我一直希望能把我收藏的电子书在我的网站上用一种一目了然的方式分享给别人,就像书架上选书一样。
Calibre本身是可以在局域网中作为服务器来实现这个功能的。但是我希望能在我外网的服务器上实现,这样我就可以分享我的书籍给到认识和不认识的朋友。
Calibre-web就是这样一个可以实现这个功能的网站部署。这是一个用python写的网路部署程序。
网上搜索calibre-web加docker,你就会发现有好几个docker的镜像版本,还是老规矩,选一个最近有更新,又有别人安装贴的版本。
最终选择了,linuxserver/docker-calibre-web这个版本。
安装过程可以参考Online Touch Fish的安装过程,当对比较清晰。
同时,对于你的书库的域名,你不需要申请一个新的域名,只要为你的书库建立一个二级域名,在服务器运营商处做好解析就可以了。
注意几点:
1.CPU weight和Memory Quota 可以根据需要调整。
2.8083端口要在服务器和宝塔面板中释放。
3. 安装好了,重启服务器看下,Calibre容器是不是能自动启动。如果不能,SSH登入服务器。
docker PS //查询容器ID
docker update --restart=always 容器id //使用命令把容器设置自动启动
没有权限的话,用sudo放在命令前面。
我要重点说一下的是安装成功之后,我是怎么样上传书籍的。这一点我看了一些文章感觉都没有详细讲,只是简单说保持同步。
我理想的方式是类似我上传照片的方式,我在本地管理器中浏览和编辑书籍,然后按一个键导出,这时候剩下就交给程序自己去同步了。
我先把calibre-web在服务器上的数据库所在的文件夹先设置为ftp文件夹。我用Calibre建一个新的数据库,然后先把这个数据库复制到这个ftp文件夹中。
然后用一个ftp同步软件,把这个文件夹映射到本地。我使用了Duck Mountain这个软件。
最后我使用Calibre连接到文件夹到功能把这个文件夹连接到Calibre。
然后,在Calibre中打开这个在线数据库。这时候,你回到你本地数据库,选中一本书,右键,就可以看见复制到《ftp》书库这个选项。
你只要点击确认,书籍就会传到你的在线图书库中了。
另外,calibre-web支持OPDS协议,所以在iPad上可以使用Kybook来直接访问你的在线书库。
目前发现问题:
1.传书,有时候会出现Disk IO的报错,你可以尝试把ftp folder改成777,或者多尝试一次;
2.不要传自定义的数据结构,可能会造成网站无法读懂你的数据库, 出现internal 500错误。
3. Calibre会在ftp上生成数据库备份文件,需要定期去删除。