群晖NAS搭建外网可访问的calibre


一、在群晖docker上安装calibre-web

1. 下载相关的镜像文件

打开Docker后点击左侧注册表,在上方搜索栏搜索calibre

Screenshot 2022-11-12 at 12.44.10 PM.png

然后我们选择使用 technosoft2000/calibre-web 的镜像,因为这个版本的镜像的网页会更加漂亮美观。

双击technosoft2000/calibre-web 然后选择下载最新的版本即可。

Screenshot 2022-11-12 at 12.51.20 PM.png

2. 启动镜像

在 Docker 中找到我们刚刚下载好的镜像,点击左上角启动

Screenshot 2022-11-12 at 12.53.27 PM.png

3. 获取群晖NAS的GID和UID,以便于后续配置文件

进入群晖的控制面板 ,然后选择 终端机和SNAP

Screenshot 2022-11-12 at 1.04.10 PM.png

在这里,我们启动群晖的ssh功能后,然后保存

Screenshot 2022-11-12 at 1.05.44 PM.png

Windows用户,可以在电脑中搜索PowerShell 这个系统自带软件。基本上Windows 10以上系统都是默认安装的。

Mac OS 和 Linux 用户直接用系统自带的 Terminal 或者叫 终端 的系统自带软件。

以下的操作命令都是相同的,这里我使用 Mac OS 作为演示。

利用命令 ssh <你的群晖用户名>@<你进入群晖的内网ip地址>

Screenshot 2022-11-12 at 1.16.19 PM.png

在这里输入你的群晖的密码

Screenshot 2022-11-12 at 1.17.30 PM.png

然后输入以下命令:cat /etc/passwd | grep admin 并敲击回车

这里,显示了你的群晖 UIDGID

例如,前面的1024 就是我的UID100就是我的GID

  • 一定要记录下这个信息,稍后我们将会用到,否则会出现权限问题,导致后续calibre无法正常使用

Screenshot 2022-11-12 at 1.27.04 PM.png

4. 为calibre创建文件夹

点击共享文件夹后,然后新增一个共享文件夹:Docker 。只需要修改文件夹名称,其余设置均不用修改,保持默认选项即可。

我们之后把Docker相关的文件都可以放进去。

Screenshot 2022-11-12 at 1.32.50 PM.png

5. 配置镜像参数

将网络选择成与 Docker Host 相同的网络,然后点击下一步

Screenshot 2022-11-12 at 12.57.08 PM.png

将常规设置中的一些内容,做一些修改后进入高级设置

  • 切记勿直接进入下一步

Screenshot 2022-11-12 at 12.58.57 PM.png

这个时候我们需要使用到刚刚记录到的UIDGID

点击左上角的新增,然后会在列表最下面新增一个空白的行,这个时候输入我们刚刚查到的UIDGID

  • 这里注意,点击了以后会出现在列表最下面,所以找不到的话往下拉一下就看到了。群晖程序员可以改进一下UI了 ??
  • 注意这里的名字是PGIDPUID

最后确认好了后点击保存就完成了。

Screenshot 2022-11-12 at 1.43.04 PM.png

现在会自动返回刚刚的界面,然后点击下一步

Screenshot 2022-11-12 at 1.44.36 PM.png

现在,我们来选择calibre文件的存储路径,这里我们选择使用官方推荐的路径。

点击添加文件夹

Screenshot 2022-11-12 at 1.46.12 PM.png

Screenshot 2022-11-12 at 1.47.16 PM.png

然后在calibre文件夹下创建两个文件夹:booksconfig 后,选择这两个文件夹

在装载路径中,分别写下图所示的路径,千万要对应好!!!

/books

/calibre-web/config

Screenshot 2022-11-12 at 1.54.44 PM.png

6. 修改calibre文件夹权限

进入群晖自带的软件 File Station,然后进入属性修改权限。

Screenshot 2022-11-12 at 2.00.08 PM.png

点击权限 ,然后选择新增

Screenshot 2022-11-12 at 2.02.15 PM.png

在用户或组里选择Everyone

Screenshot 2022-11-12 at 2.04.21 PM.png

然后勾选读取写入的小勾勾,它下面所有的权限都会被勾上,然后点击完成。

Screenshot 2022-11-12 at 2.05.03 PM.png

勾选应用到这个文件夹、子文件夹及文件,然后点击保存

Screenshot 2022-11-12 at 2.06.03 PM.png

二、进入callibre-web

1. 添加书库的原始数据库

因为calibre-web镜像是不带数据库的,这个时候我们需要用calibre本地版的数据库来引导。下面我提供了原始的calibre的原始数据库,方便大家下载使用。

如果想图省事儿可以直接将下面这个文件,拖拽到刚刚创建的docker/calibre/books中即可
metadata.db

下面建议大家使用的另一种方式就是下载一个calibre桌面端,这对于我们之后管理书库会方便很多。网页版的calibre-web更适合看书和下载,但是桌面端对于批量导入书籍都非常方便。

下载链接:https://calibre-ebook.com

根据自己操作系统选择下载即可,在安装过程中保持默认安装即可。

下载好calibre客户端后,将我们的数据库和NAS数据库保持同步。

下载完成后,calibre会让你选择书库的位置,这个时候我们将位置选择到群晖的docker/calibre/books 中即可。(记得要提前映射NAS到你的电脑,具体步骤可以参考百度)

2. 进入calibre-web网页

使用 <群晖ip地址>:8083 进入你的calibre-网页端。第一次启动会让你选择数据库的路径,直接输入/books 即可。

Screenshot 2022-11-12 at 2.28.36 PM.png

  • 如果没有出现以上内容,稍后需要进行设置。(稍后会进行提示)

这个时候会让你输入你的用户名密码 ,输入默认的用户名和密码即可。(稍后最好进行修改)

默认的用户名:admin

默认的密码:admin123

Screenshot 2022-11-12 at 2.30.35 PM.png

3. 修改calibre-web的语言

这个时候你看的用户界面应该是英文版的,我们先去把语言修改成简体中文。

点击admin,进入设置页面

Screenshot 2022-11-12 at 2.41.15 PM.png

在 Language 中选择 简体中文,最后点击在页面最下方的save保存

Screenshot 2022-11-12 at 2.42.13 PM.png

现在页面所有内容都是中文了,看起来会更加直观,现在我们去修改一下新用户的用户语言。

点击右上角的管理权限

Screenshot 2022-11-12 at 2.45.07 PM.png

选择编辑界面配置

Screenshot 2022-11-12 at 2.46.13 PM.png

将新用户默认语言修改为简体中文即可

calibre-web支持多个账号,你的家人朋友也可以浏览你NAS上的书库,并使用不同的账号。在他们注册了账号后,默认语言将是简体中文。

Screenshot 2022-11-12 at 2.47.39 PM.png

4. 配置数据库路径(按需)

刚刚登陆网页时,如果没有出现要你选择数据库,一定要在这里选择配置。

Screenshot 2022-11-12 at 2.51.03 PM.png

选择数据库的路径,直接输入/books 即可。

Screenshot 2022-11-12 at 2.28.36 PM.png

5. 开启上传权限

calibre-web默认是不开启网页端上传权限的,只能用calibre桌面端进行管理书库。但是我们也希望通过网页端也能实现书本的上传,这个时候开启权限即可。

Screenshot 2022-11-12 at 2.54.57 PM.png

功能配置中勾选启用上传即可开启网页端上传功能。

Screenshot 2022-11-12 at 2.56.32 PM.png

6. 启动匿名浏览

calibre-web默认是不允许匿名浏览的,也就是说没有登录的用户是看不到页面的,这对于我这个希望展示的人来说多少有点不方便。我希望大家谁都能看我书库里的书列表,但是不允许下载和阅读。这个时候打开匿名浏览即可。

进入编辑基本配置

Screenshot 2022-11-12 at 2.54.57 PM.png

点击允许匿名浏览 即可开启。

Screenshot 2022-11-12 at 2.58.02 PM.png

之后你可以在用户组里设置匿名用户也就是guest 的权限。

现在你已经完成了在局域网内访问和管理calibre-web的功能。

如果你不想折腾外网访问,到这里你就可以开心的去上传书本了~

我建议大家使用calibre桌面端管理书本,个人感觉会更加方便一点。因为我们设置了同步,所以在桌面端上传的书本会时刻与网页保持同步。

三、通过外网访问

DDNS就是配置域名解析方式,默认群晖提供一些可选的域名给大家使用,有不少提供商,而且群晖提供自动申请https证书。

注意:要使用DDNS方式,必须有公网IP(拨号上网获取到公网IP,或者运营商支持IPV6公网IP),还要在路由器中配置端口映射转发,否则访问不了

部分宽带运营商默认获取到的是大内网IP,并不是公网IP,查看路由器后台获取到的IP地址,然后和群晖后台获取的IP地址对比下,如果不一样就不是公网IP,可以联系运营商开通公网IP,实在不行就只能换运营商了。

1. 利用群晖二级域名配置DDNS

新增一个DDNS配置:

Screenshot 2022-11-12 at 3.51.02 PM.png

主机名称起一个名字,最后全称就是访问域名了,如主机名称为test,最后访问地址就是:test.myds.me,配置的时候群晖会自动申请https证书,有https证书可以通过https访问,可以提高安全性。

注意:这里的IP地址和路由器获取的IP地址一定是一样才能访问。

如果有自己的域名,可以直接在域名提供商的网站上,将域名映射到自己的公网ip上。网上相关教程较多,这里就不再赘述了。

2. 配置端口映射

这里有个点需要注意一下,当你的群晖挂载到二级路由器(也就是说你的网络运营商提供了一个路由器,然后你用自己的路由器连接到运营商路由器,群晖挂载到自己的路由器)。

这种情况下,一定要将运营商的路由器设置成passthrough/穿透模式 才能够正常使用外网访问,如果群晖挂载到网络运营商服务器则没有影响。

配置好DDNS之后,并不能直接访问,需要路由器中配置端口转发,把公网IP的请求转发到群晖NAS端才可以。

根据你的路由器说明书,添加以下端口。协议如有最好设置成 BOTH 或者是 TCP和UDP

内部ip地址,就是你群晖NAS的内网ip地址

Screenshot 2022-11-12 at 3.34.18 PM.png

配置好之后就就可以测试访问了。

3. 用DDNS方式登录

在浏览器中输入完整域名地址,如:http://test.myds.me:5000,访问之后就看到自己的群晖NAS网页界面,注意要加上端口,否则可能访问失败。

4. ssl证书

如果是自己的域名,在每次访问时都会弹出安全提示,这是因为ssl证书的问题。在群晖安全性的证书里,添加自己的证书即可(记得一定要添加泛域名证书 *.域名)

Screenshot 2022-11-12 at 3.52.47 PM.png

如果使用群晖的二级域名,在之前创建通过以下方式已经自动创建了ssl证书,应该不会出现ssl证书的问题。

建议大家开启https的重定向,进入登录门户→打开重定向https即可

Screenshot 2022-11-12 at 3.56.30 PM.png

现在我们可以直接通过域名+端口号来访问我们的calibre-web

5. 摆脱使用端口号访问

如果不想访问时附带端口号,有两种选择:

  • 用自己的域名创建二级域名,如:calibre.abc.com
  • 使用刚刚创建的群晖二级域名(此时这个域名将无法访问你的群晖nas,会直接访问calibre-web网站)

打开反向代理服务器的设置,点击新增

Screenshot 2022-11-12 at 4.00.29 PM.png

按照以下内容,设置反向代理即可。

Screenshot 2022-11-12 at 4.04.50 PM.png

现在,你就可以通过你的域名来访问你的calibre-web服务器了。

快去跟你的小伙伴们分享你的线上图书馆吧。