打造属于自己的私人云书库

2017-02-27 15:00:52 93点赞 656收藏 90评论

一、前言

距离我上一次发的原创文章

skylake架构DIY NAS 篇一:纠结挑选的硬件篇前不久我刚发了个用pogoplug做的廉价nas的原创廉价naspogoplug的折腾记录廉价naspogoplug的折腾记录手头上的这台pogoplug买了一年多了,当时也不是因为有这个需要,而是偶然看到有这么便宜的屌丝产品,作为一个技...dalin| 17 评论39 收藏117查看详情


已经过去将近一年了。实在是懒癌晚期+女儿控的原因。现在开始慢慢把一些坑补一下。

按照规划,这一篇本来应该是写操作系统篇的,不过我就是喜欢不走寻常路(其实是因为在一个论坛被人问到了),先讲讲怎样打造一个私人的电子书库。操作系统的介绍留着以后懒癌缓解了再说吧。

当然,为了介绍的方便,还是有必要先大概讲一下现在用的操作系统情况:

1、裸机装的ArchLinux,时不时更新一下。以前应用大多跑在这个Archlinux上面,现在基本上都挪到虚拟机的黑群晖上了;

2、KVM装的黑群晖6.01,买了一块raid卡,通过kvm的pci直连,把硬盘直接接到黑群晖里了;

3、黑群晖装了Docker。现在各种应用如果群晖套件有的就直接装套件里的,没有的就用docker了。

二、概览

下面开始看看我的云书库是什么样子的:

首页首页

这个云书库基于链接,我作了中文翻译,也提交了一些代码( 我的github库是 ,可以直接从我这里下载,我会及时从主干merge,也会加一些针对中文书的特性,比如从豆瓣拉信息。有些会提交回主干,有些不会。 )。具备以下特性:

Bootstrap 3 HTML5 interface

full graphical setup 全图形化设置

User management 用户管理

Admin interface 管理界面

User Interface in english, french, german, polish, simplified chinese, spanish 支持这么多种语言

OPDS feed for eBook reader apps 支持OPDS。比如android下的静读天下,iOS的kybook这些阅读器都支持OPDS。也就是所谓的网上书库功能。把书库加到阅读器之后,以后直接就可以在阅读器搜索、下载、阅读了,很方便。

Filter and search by titles, authors, tags, series and language 支持根据书名,作者,标签,丛书名和语言进行搜索

Create custom book collection (shelves) 创建自定义书架

Support for editing eBook metadata 支持编辑电子书元数据 (我的库还增加了编辑元数据时自动从豆瓣拉信息的功能

Support for converting eBooks from EPUB to Kindle format (mobi/azw) 支持将epub电子书转成kindle的格式

Restrict eBook download to logged-in users 可以限制只有登录用户才能下载

Support for public user registration 支持用户注册

Send eBooks to Kindle devices with the click of a button 支持一键发送到kindle

Support for reading eBooks directly in the browser (.txt, .epub, .pdf) 支持直接在线阅读电子书(.txt, .epub, .pdf格式)

Upload new books in PDF, epub, fb2 format 可以上传PDF, epub, fb2格式的电子书(其实其它格式也可以)

Support for Calibre custom columns 支持Calibre自定义列(其实我也不知道是啥)

Fine grained per-user permissions 支持给每个用户设置权限

Self update capability 自更新能力


说的好复杂,划下重点: WEB界面,支持opds,支持账号管理, 支持send to kindle,支持在线阅读,支持格式转换

我用这个书库管理了17683本电子书(持续更新)。给了好几个朋友在用(通过动态域名,走https端口共享到外网),当然,由于版权原因,我就不在这里共享了。

打造属于自己的私人云书库

我自己也用的挺爽的,Yotaphone自带的阅读器支持opds,直接加上这个书库,iPhone用kybook,kobo aura HD用Coolreader或者浏览器. kindle卖掉了,不过我的朋友用send to kindle功能还是用的挺爽的。

三、安装

3.1 数据准备

这里的数据准备指的是电子书怎么来,对于有这个需求的人来说,肯定有一堆电子书了,所以不用怎么看。对于我而言,我是从各种BT,论坛,云盘拉了一堆电子书,甚至还写了个爬虫从一些论坛更新最新的电子书。概括 起来,我的电子书来源大概来自这些渠道:

a、论坛里的各种BTsync、云盘分享;

b、自己写的爬虫从论坛、网站拉下来的;

c、各种搜索引擎找到的;

d、朋友上传分享的。

3.2 Calibre库准备

calibre http://calibre-ebook.com/ 是一个跨平台的电子书管理工具,功能齐全并且强大,而且windows,linux,macOS各平台都有,核心是用python写的。

事实上,calibre-web 跟calibre不是同一个东西,而且是完全独立于calibre的,即便没有装calibre,也是可以用的。但因为calibre提供了一些工具,所以安装上calibre也会带来一些方便。对本文来说,calibre并不是必须的,但有calibre更好

安装calibre非常简单,windows和 mac os直接从官网下载安装包安装就行了。linux也可以直接安装二进制,官网提供了安装脚本:

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failedn'); exec(sys.stdin.read()); main()"

各种Linux改版也可以直接安装,比如:

Debian系的用:
apt-get install calibre

RedHat系的用:
yum install calibre

ArchLinux用:
pacman -Sy calibre

装完之后可以直接通过图形界面把各种电子书导入到calibre数据库里,可以一本一本加,也可以一个目录一个目录加:

打造属于自己的私人云书库

但是如果calibre的库里已经有很多书的话,图形界面可能会有点慢,这个时候就可以用命令行来添加了, 命令行工具是calibredb:

打造属于自己的私人云书库举几个例子:

calibredb add xxx.epub --with-library=/data/calibre
calibredb add -r /downloads/books --with-library=/data/calibre
calibredb remove 1 --with-library=/data/calibre

第一个例子是添加一本书,第二是添加整个目录,第三个是删除一本书。--with-library=/data/calibre这个是指明calibre数据库的存放位置。这个库的位置在calibre的界面上是可以看到的:

打造属于自己的私人云书库

记好/data/calibre这个位置,后面我们会用到。这个目录下放了这些文件:
metadata.db //这个就是calibre的数据库了
一堆作者名拼音命名的目录 //这个就是电子书的存放地址了

打造属于自己的私人云书库

3.3 安装Calibre-web

先下载 calibre-web, 有装git的可以直接

git clone https://github.com/janeczku/calibre-web.git

没有装git的可以下载压缩包 并解压。

calibre-web是用python写的,所以需要先安装python, 各种平台的python安装大家自己google吧。要求python 2.7以上,理论上python3也支持,不过我没有测试过,还是装python2.7吧, python的windows安装包下载地址是 

其它系统的基本自带或者可以从系统软件库安装,就不多介绍了。

装完python,并下载完calibre-web之后,进入 calibre-web的目录:

Execute the command(执行命令): python cps.py   

Point your browser to http://localhost:8083 or http://localhost:8083/opds for the OPDS catalog。用浏览器打开http://localhost:8083 

Set Location of Calibre database to the path of the folder where your Calibre library (metadata.db) lives, push "submit" button 设置calibre数据库路径

Go to Login page 登录

解释一下,执行 python cps.py会启动服务器,如果是第一次启动,会自动跳转到配置页面(理论上会根据浏览器语言出现中文界面):

打造属于自己的私人云书库

各个配置项的含义已经很清楚了,就不多说了,基本上如果啥也不懂的人,改一下calibre数据库位置就可以了。如果要允许注册的话,就勾选一下启用注册,并设置一下新用户的默认权限。其它设置类似。点提交,然后就可以开始登录了。默认的管理账号是: 用户名: admin 密码: admin123。

四、配置

安装配置完之后,用admin登录,然后在页面右上角有个‘管理’,点进去,那里就是管理配置入口:

打造属于自己的私人云书库

1是入口,2是用户管理,这里可以添加用户,也可以修改用户资料。3是smtp设置。这个功能是用于Send to kindle的。

smtp设置界面如下:

打造属于自己的私人云书库

具体看你的邮箱smtp设置就可以了。然后,在你的kindle那里,把这个邮箱设置到白名单中去

编辑用户资料的界面如下:

打造属于自己的私人云书库

kindle E-mail就是你的kindle邮箱,有用过send to kindle功能的应该都清楚。

五、使用

5.1 直接使用

这个直接打开浏览器就可以了,不用多说了,各种功能自己摸索。

5.2 客户端

支持opds的阅读器都可以,比如 iOS: kybook . Android: 静读天下.

使用方式: 添加网上书库,输入你的书库地址,地址后面加 /opds. 比如你的书库网址是 http://mybooks.com , 那么书库地址就是 http://mybooks.com/opds.

至于怎么把服务配置到外网去,这个有点复杂,不在本文中涉及。

六、其它

因为其实这个东西的基础安装使用还是很简单的,所以也没什么内容可说。还有一些别的用法,比如用docker安装,比如配置nginx转发等等,这里就不涉及了。有兴趣的可以看项目的readme。

该项目最近在各种完善中,代码也比较简单,会编程的欢迎也贡献代码,不会编程的也可以提提需求。

展开 收起

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

2199元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)黑色

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)黑色

3299元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2249元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2549元起

ZSpace 极空间 私有云Z2Pro 2盘位 NAS存储 水墨黑

ZSpace 极空间 私有云Z2Pro 2盘位 NAS存储 水墨黑

1199元起

UGREEN 绿联 DXP4800 Plus 四盘位 私有云NAS存储

UGREEN 绿联 DXP4800 Plus 四盘位 私有云NAS存储

2179元起

UGREEN 绿联 DXP2800 双盘位 私有云NAS存储(Intel N100、8GB)

UGREEN 绿联 DXP2800 双盘位 私有云NAS存储(Intel N100、8GB)

1649元起

Synology 群晖 DS923+ 四盘位 NAS存储(AMD R1600、4GB)

Synology 群晖 DS923+ 四盘位 NAS存储(AMD R1600、4GB)

4892.5元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2399元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

1699元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1696元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、32GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、32GB)

3899元起

HUAWEI 华为 AS6020 双盘位 家庭存储 NAS

HUAWEI 华为 AS6020 双盘位 家庭存储 NAS

1699元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

2899元起

UGREEN 绿联 DXP480T Plus 四盘位 私有云NAS存储(酷睿i5-1235U、8GB)

UGREEN 绿联 DXP480T Plus 四盘位 私有云NAS存储(酷睿i5-1235U、8GB)

3699元起

ZSpace 极空间 私有云 Q2C NAS存储 水墨黑

ZSpace 极空间 私有云 Q2C NAS存储 水墨黑

899元起
90评论

  • 精彩
  • 最新
  • 收藏,最近 要组nas

    校验提示文案

    提交
  • 先收藏,不知道什么时候会自己弄

    校验提示文案

    提交
  • 这个书库挺不错的

    校验提示文案

    提交
  • 先收藏,里面许多东西要摸索好久才行,对于Python门外汉来说……

    校验提示文案

    提交
  • 这个不错,正好需要

    校验提示文案

    提交
  • 我是glo hd。你这比较专业有点难

    校验提示文案

    提交
  • 坐等开库地址

    校验提示文案

    提交
  • 技术贴必须打赏

    校验提示文案

    提交
  • 技术贴,👍,虽然看不懂,但是比那些晒个开箱照的水贴强多了。这月的银子都给你了 [抽烟]

    校验提示文案

    提交
  • 十分给力,等空了坐下来慢慢看

    校验提示文案

    提交
  • 这个玩法高端,没能力折腾

    校验提示文案

    提交
  • 已收藏,有空折腾一下 [ok了]

    校验提示文案

    提交
  • 感觉挺实用

    校验提示文案

    提交
  • 弄下来全是坑啊,哭死。先打算自己编译libgl1-mesa-glx,结果发现dsm升级到6.0之后optware不好使了,编译的时候总说没有c compiler,但gcc明明装的好好的,然后又打算下载calibre的docker镜像,结果将近900m总也下载不成功,跟着决定装个docker for win,可以利用daocloud加速,结果装完了,也很快把镜像下载成功了,结果hyper-v虚拟机就是登录不进去 [喷血]

    校验提示文案

    提交
  • 当年那个我认为最好用的阅读器stanza还在吗?

    校验提示文案

    提交
  • 程序盲,感觉这个好高大上啊

    校验提示文案

    提交
  • 竟然找到了一个和我一样的linux+kvm+dsm+calibre,可是没有公网ip全走vultr代理…… [大囧]

    校验提示文案

    提交
  • 麻烦楼主可以说说群晖dock挂载目录怎么设置,还有数据库地址怎么写吗,麻烦了

    校验提示文案

    提交
    同问,现在卡在填数据库地址这里了。

    校验提示文案

    提交
    官方的docker镜像是把数据库mount到docker的/calibre目录的,所以把dsm中calibre的数据库目录挂到/calibre就可以了

    校验提示文案

    提交
    收起所有回复
  • 这样的干货还能说什么呢,打赏即可

    校验提示文案

    提交
  • 请教下楼主,用黑群docker安装好了,其他都没问题,但编辑书籍元信息时候封面图片的url一直添加不上去,所有书籍封面都显示cover not available,这个怎么解决啊

    校验提示文案

    提交
    能分享下群晖的安装流程吗?群晖docker里面的没有中文吧

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
656
扫一下,分享更方便,购买更轻松