前言

记录了一些折腾过程

一些缘由

E5

  1. 前一段微软开发者E5订阅很火热,也顺手申请了一个,主要还是看上OneDrive的存储,E5可以拥有25个子账号,所以空间至少25x5T,当然也用不了这么多。

  2. 由于E5可能是参照开发者使用情况续订的,所以同时也部署了自动调用API续订程序来尝试维持续订。

  1. 搭建了各种索引程序作为个人网盘,总之,尝试了多款,各有优势吧。

TeamDrive

  1. GoogleDrive订阅G Suit教育版或者商业版是无限容量的($$$),教育邮箱之前搞过一个,翻车了。

  2. 偶然发现还有TeamDrive也是无限容量,就也顺手搞了一个玩玩看。

  3. 又发现各种玩法,转存什么的,利用SA账号转存,TG机器人转存等,顺手也搭建了。

    gd-utils

折腾开始

  • 各种离线下载,转存机器人也都玩过了,就想玩玩新鲜的。
  • 于是想到了搭建个人书库,利用这些强大的存储作支持。
  • 当然,OD和GD都是可以的,但是看到calibre-web这款管理面板原生支持GD,就选择了GD

一、Calibre-web搭建与配置

安装部署

py依赖部署版

calibre-web

1
2
3
4
5
6
git clone 仓库
cd
# python3 (python3.x)
pip3 install --target vendor -r requirements.txt
# (python2.7).
pip install --target vendor -r requirements.txt

执行启动命令

1
2
3
python cps.py
或者
nohup python cps.py

至此,calibre的面板calibre-web搭建成功,接下来跟GD存储端对接。

面板原生支持GD

doc

由于某些原因,采用下边rclone挂载GD方式。

docker版

docker安装可谓最简单,可惜各种折腾未成功,还是一般安装吧~

⚠️以下只是记录了报错等信息,尝试修复过程

calibre-docker

1
2
3
4
5
6
7
8
9
10
11
docker create \
--name=calibre-web \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e DOCKER_MODS=linuxserver/calibre-web:calibre \
-p 8083:8083 \
-v /media/config:/config \
-v /media/Books:/books \
--restart unless-stopped \
linuxserver/calibre-web

然而需要重启,由于部署了一堆闲玩的东西,很多没部署service自启动,重启后说不定就不知道到在哪启动了,所以放弃。

后台配置

详见下边第三步

二、rclone挂载GD

普通版

安装rclone

配置GD并挂载

  • rclone config

    image-20200802185121351

    新建remote

    image-20200802185159925

    选13(具体看版本),google drive

    client_id和secret_id可以不写,默认用的官方的。

    接下来都选1

    image-20200802185330214

根据提示,验证那里,由于是在vps没显示器,选n,点开链接验证后,复制代码到下边。

配置成TeamDrive

然后一路yes就行了

挂载磁盘点,配置自启动

  • 新建挂载文件夹,我建在/media/Books
  • 配置service自启动

将下边脚本改好后,新建service

1
vi /usr/lib/systemd/system/books.service

下边复制到新建的service中

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=Rclone
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount Books:/ /media/Books/ --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --vfs-cache-mode writes #针对calibre读取数据库加的
Restart=on-abort
User=root

[Install]
WantedBy=default.target

需要改两个地方,Books://media/Books,第一个为rclone配置的名称,第二个为本地挂载点。

1
2
3
4
5
6
systemctl daemon-reload;
systemctl restart books;
# 查看状态
systemctl status books -l;
## 开机自启
systemctl enable books;

进入挂载点,ls能看到盘内容,成功~

image-20200804122150879

docker版

docker得折腾更多,就不用了

下边只贴上了启动参数

1
2
3
4
5
6
7
8
9
10
docker run -d --name rclone-mount \
--restart=unless-stopped \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--security-opt apparmor:unconfined \
-e RemotePath="Bookgo:" \
-e MountCommands="--copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --vfs-cache-mode writes" \
-v /root/.config/rclone:/config \
-v /media/Books:/mnt/mediaefs:shared \
mumiehub/rclone-mount

三、calibre安装与书库配置

安装成功,并配置好书库后,进入web登录后就是这样的界面。

然而,第一步中安装好的web面板,第一次登录,会让你设置书库地址,路径内必须有metadata.db书库的数据库文件。

⚠️如果第一次用的话,没有metadata.db,必须手动搞一个,或者下载这个空白的书库放在路径内。

初始化配置

  • 这样,输入初始admin,admin123用户登入,其他后台自行设置就行了

  • 初始密码及时更改

    image-20200804142454950

    功能还可以,有自动推送kindle功能。

  • image-20200804142552774

  • 还有格式转换等,需要自行下载插件,路径配置好。

导入书库

  • 上一步初始化后,书库只有一本Quick Start默认书
  • 可以通过面板上传按钮自行上传
  • 也可以通过calibre命令行导入其他一些书库

创建calibre数据库

这里需要用到calibre官方程序,尽管在vps不能可视化操作,但是命令行能用,导入书籍信息,自动归类等还是很好用

    1. 下载安装calibre
      download

    仔细参照官方要求环境安装,如果环境不匹配,很折腾

    python:2.7.9+(<3)

    gcc: 5.4.0+

    具体看安装时候提示信息,不匹配会出现各种问题

    1. 使用calibredb命令将个人书籍导入数据库
1
calibredb add "/media/Books/代码相关" --add --duplicates --ignore "*.md" --recurse --library-path=/root/tmp/bookslib

上述表示递归添加media/Books/代码相关目录下所有支持图书,不含md,并允许重复,最后规定了metadata.db的路径

其他指令参照官方man手册

kindle推送配置

详见后台配置

opds配置

https://site/opds

站点后加opds就是opds地址,导入其他软件可用

image-20200804105005437

愉快看书(收藏)


更多配置细节还得看个人需求

记录探索,探索记录

Resources