V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yuanfnadi
V2EX  ›  分享创造

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

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

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

    作为一个松鼠党,从高中逛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   ·   实用小工具   ·   2643 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.