在群晖配合 calibre 搭建了一个个人的电子书网站 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yuanfnadi
V2EX    分享创造

在群晖配合 calibre 搭建了一个个人的电子书网站

  •  2
     
  •   yuanfnadi 2017-09-04 22:27:53 +08:00 28066 次点击
    这是一个创建于 2964 天前的主题,其中的信息可能已经有所发展或是发生改变。

    搭建了一个个人的电子书网站

    作为一个松鼠党,从高中逛E-INK开始就收集各类电子书,这么多年下来也积攒了一大笔积蓄。下书入流水,看书如抽丝。那么这些书的管理就成了一个问题。最后选了半天还是决定用 calibre 来管理自己的电子书。

    calibre 虽然速度有些慢,不过应该是目前为止能找到的最好的电子书管理工具了。和 kindle 的结合也很好。考虑数据的备份,除了在自己的 Mac 上存放了书库以外,还利用 Resilio Sync 把书库存到了群晖上。这样就算是电脑被偷数据也不会丢了。不过 calibre 的数据库有一个缺点,他在电脑上储存文件的目录结构是 /calibre/author/books

    而且会把全部的汉字转换成拼音。直接用 Mac 上的 calibre 看的话挺方便的,但是远程用手机访问群晖的话看到的都是类似于拼音文件。找书很不方便。所以就想找一下有没有 calibre 的 web 版本。

    搜了一下果然有人已经早好轮子了calibre-web

    用 Python 写的一个 Web abb。

    官方介绍是这样的:Calibre Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.

    直接利用 calibre 的数据库,然后支持下载,上传,在线阅读,数据修改,发送到 kindle。而且手机端和 web 端都支持,真是完美符合我的需求。不过要吐槽一点,这个源码居然不打 tag,程序更新完全是靠 git 拉取来更新。真的是大开眼界。

    既然调研好了,那么就开始搭建吧。

    网站搭建

    背景说明

    • 群晖 216+Ⅱ
    • Calibre
    • Resilio
    • docker

    其实上面啥都不需要,只需要一台能运行 docker 的设备就可以了。内存大约 100m 不知道树莓派能不能撑得住。Python 的效率真低呀。

    首先先是电脑上安装 calibre,然后同步自己的书库到群晖。这一步网上教程太多,就不详细介绍了。

    同步完之后,我们的群晖上就有了数据库。例如我的目录是 /Backup/书库 里面有一个数据库文件 metadata.db

    数据库有了,就开始安装程序。程序安装很简单,只需要一个 python 环境就可以了。

    # 1.下载源码 git clone https://github.com/janeczku/calibre-web/ # 2.利用 pip 安装依赖 pip install --target vendor -r requirements.txt # 3.运行程序 python cps.py 

    执行命令以后你就把网站搭好了,访问 http://localhost:8083 就可以看到自己搭建的网站了。

    不过妈妈说了,能用 docker 解决的问题都用 docker 解决。

    Dockerfile 如下。

     FROM python:2.7.13 MAINTAINER FandiYuan <[email protected]> RUN git clone https://github.com/janeczku/calibre-web/ && \ cd calibre-web && \ pip install --target vendor -r requirements.txt EXPOSE 8083 CMD ["python","/calibre-web/cps.py"] 

    项目的主页有一个镜像了,但是我个人有点没看懂,而且镜像里面是不带项目本身的,在第一次启动镜像的时候会从 git 上面拉取最新的源码,然后重启。其实挺符合这个开源项目的风格的,利用 git 进行版本更新。写得其实比我好。有需要的小伙伴可以自己研究安装。

    安装说明

    说了半天废话,那么图文教大家如何安装吧。

    • 首先安装群晖的 docker 点开注册表 双击选择阿里云。

      搜索 calibre,找到我写好的的镜像后双击下载。因为在国内,所以挺快的。感谢阿里爸爸。

    安装完双击启动容器

    配置一下本地目录和装载目录。本地目录就是你电子说所在的位置。

    如果你需要电子书编辑的功能,那么不要勾选只读。英文我只想浏览和下载,所以选择了只读。

    设置完成以后点击确认 应用。你的个人服务器就布置好了。 举个例子 例如我群晖的路由访问页面是 192.168.3.101:6001,那么 192.168.3.101:8083 就可以看到自己部署的网站了。

    如果要在外网访问的话,明天再写。

    原文来自 https://blog.diamondyuan.com/2017/09/04/build-a-book-site-on-your-nas/ 我的博客。

    12 条回复    2018-01-04 19:49:44 +08:00
    15015613
        1
    15015613  
       2017-09-04 23:08:18 +08:00 via Android   1
    我是直接用的 calibre 自带的网页服务器,感觉挺好用的。
    升级 3.x 版后,页面大大的进步,而且还可以在线阅读。
    Weny
        2
    Weny  
       2017-09-04 23:23:36 +08:00 via iPhone
    Web abb ? 今天我还在 sf 看到“ wed 端...” p b d b 键位那么远都能打错?
    HXM
        3
    HXM  
       2017-09-04 23:25:46 +08:00 via Android
    收藏一下
    xieyangwanmu
        4
    xieyangwanmu  
       2017-09-05 07:57:15 +08:00
    很巧。我昨天起也开始捣鼓 calibre-web。不过遇到问题很多。现在弄的只是勉强能用。
    安装过程中各种依赖错误一大堆。安装完成了。python 启动后。动不动网页就 500 错误。
    比如书籍没有封面,获取原数据,封面选择豆瓣,提交。然后就 500 错误,崩溃了。
    只能重启启动程序。
    另外默认中文不知道在程序哪里修改。
    yuanfnadi
        5
    yuanfnadi  
    OP
       2017-09-05 08:11:50 +08:00 via iPhone
    @xieyangwanmu 用 docker 能用 docker 解决都用 dock 解决。
    pip 有问题是因为网络问题。随意用我 build 好的镜像就可以了。或者自己去阿里云 daocloud build 一个(虽然我好像只写了一半)。
    崩溃可能是文件读写权限的问题。
    To5tE
        6
    To5tE  
       2017-09-05 12:00:07 +08:00 via iPhone
    阿里云的库怎么加的。地址是多少
    yuanfnadi
        7
    yuanfnadi  
    OP
       2017-09-05 12:03:06 +08:00
    @To5tE 本来就自带的吧。
    yuanfnadi
        8
    yuanfnadi  
    OP
       2017-09-05 12:07:25 +08:00   1
    @To5tE
    镜像名称:calibre-web
    镜像性质:公开
    公网地址:docker pull registry.cn-hangzhou.aliyuncs.com/yfd/calibre-web
    代码仓库:https://github.com/GeorgeYuen/calibre-web
    镜像地域:华东 1
    dimlau
        9
    dimlau  
       2017-09-05 13:17:11 +08:00
    既然在本地,不如用 calibre 自带的 web 服务。
    To5tE
        10
    To5tE  
       2017-09-05 13:44:26 +08:00
    @yuanfnadi 之前没有 今天进去看了一下有了 原来的慢的要死
    xieyangwanmu
        11
    xieyangwanmu  
       2017-09-05 18:40:07 +08:00
    @yuanfnadi docker 我也试了,也会出问题。而且出现异常,docker 解决更加麻烦。
    你安装后用一段时间可能就会也发现问题了。
    zerona
        12
    zerona  
       2018-01-04 19:49:44 +08:00
    你们的 calibre-web 支持 cbr cbz 文件格式吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6369 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 48ms UTC 02:31 PVG 10:31 LAX 19:31 JFK 22:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86