实现小说自由!So Novel 小说下载工具(Docker 部署)
📺 本图文教程由视频整理而成,对应的参考视频:实现小说自由!So Novel。如需查看更详细、更具体的操作演示,可观看原视频。
场景:So Novel 是一款开源、免费的小说下载工具,可以根据书名或作者搜索小说,并导出为 epub、txt、html、pdf 等格式,下载后放进任意图书软件即可阅读。本文以飞牛 NAS 为例演示部署流程,其它系统操作一致,只是命令略有差别。
第一步:下载配套文件
- 打开好用斋官网,点击「网盘分享」,输入提取码 577。
- 页面里就是本期的 So Novel 小说自由,下方提供了两个网盘分享,选一个下载即可。
- 将里面的内容全部下载到本地,其中包含一个「官网地址」文档,以及另一个文件夹(内含
config.ini、rules规则目录和运行脚本),后续都要用到。
第二步:认识项目官网
打开配套的「官网地址」文档,内容分为三部分:GitHub 官网地址、具体的 Docker 命令、好用斋官网,按需取用即可。
进入 So Novel 的 GitHub 官网,可以看到项目已有 7.4K Star,很受大家欢迎;页面上方就是它的功能说明,想深入了解可以到官网查看,官网永远是最权威的。
第三步:理解 Docker 命令
配套文档中的命令如下:
docker run -d \
--restart always \
--name sonovel \
-v /vol1/1000/tools/sonovel/config.ini:/sonovel/config.ini \
-v /vol1/1000/tools/sonovel/rules:/sonovel/rules \
-v /vol1/1000/tools/sonovel/downloads:/sonovel/downloads \
-p 7765:7765 \
-e JAVA_OPTS='-Dmode=web' \
ghcr.nju.edu.cn/freeok/sonovel:latest逐段说明:
| 参数 | 作用 |
|---|---|
docker run -d | 容器在后台运行 |
--restart always | 重启策略为 always,最适合飞牛;其它系统一般用 unless-stopped |
--name sonovel | 容器名称 |
三条 -v | 路径映射:分别是配置文件、规则目录、下载目录 |
-p 7765:7765 | 端口映射,冒号后是容器端口,冒号前是宿主机端口 |
-e JAVA_OPTS='-Dmode=web' | 环境变量,表示以网页方式打开,照抄即可 |
ghcr.nju.edu.cn/freeok/sonovel:latest | 具体使用的镜像名称 |
两个要点:
- 路径映射中冒号后面不能改,需要调整时只能修改冒号前面的宿主机路径。
- 端口映射同理,若端口 7765 冲突,只修改冒号前面的部分即可。
其中 downloads(下载目录)一般是命令行方式才用得到,用网页方式基本用不到。
第四步:执行命令创建容器
- 复制这条 Docker 命令。
- 打开一个系统终端,所有系统操作一致,本文以飞牛为例;如果是其它系统,直接到懒人包里找到对应系统的命令即可。
- 输入
sudo -i并回车,再输入管理员密码,此时命令行提示符会从普通用户变为root,说明已获得管理员权限。
sudo -i- 在终端中右键粘贴刚复制的命令,回车执行,开始拉取镜像;镜像拉取完成后会自动建立容器。
注意
输入管理员密码时屏幕上不会显示任何字符(既不显示星号也没有光标变化),这是正常的,输入完直接回车即可。
第五步:处理配置文件缺失的报错
容器建立完成后会出现一条报错,这个和一般运行容器时不太一样。仔细看报错内容会发现,是配置文件 .ini 不存在导致:程序需要 config.ini 和 rules 规则文件,而它们目前还没有。
因此必须手动上传这两个文件,再重新运行容器,程序才能正常使用:
- 上传
config.ini配置文件。 - 上传
rules目录下的所有规则文件。
第六步:上传 config.ini 与 rules
- 打开 Docker 管理 → 容器,可以看到此时 So Novel 的状态是「已创建」,而不是像其它容器那样「运行中」。
- 进入 文件管理,依次进入
tools → sonovel目录。可以看到映射时config.ini被误建成了一个目录,直接右键删除(可选择彻底删除或移至回收站)。 - 点击上传 → 上传文件,打开配套下载的文件夹,选择其中的
config.ini上传。 - 再进入
rules目录,同样点击上传 → 上传文件,打开配套文件夹下的rules目录,全选里面的所有文件上传。
这样,规则文件和配置文件就都补齐了。

第七步:重新运行容器
回到 Docker 管理 → 容器,再次点击运行。由于配置文件已经齐全,这次就完全正常启动了。
第八步:访问 Web 界面
用「IP 地址 + 端口号」访问即可,在飞牛里也可以直接点击容器后面的打开按钮。浏览器中会显示 So Novel 的主界面:顶部是版本号与设置开关,中部是搜索框,下方是已下载书籍列表,整体非常简洁。

第九步:搜索与下载小说
- 在搜索框输入书名或作者(例如输入「西游记」),回车或点击搜索。
- 下方会出现搜索结果列表,点击对应条目操作里的下载按钮。
- 默认下载格式为 epub,也可以选择 txt、html、pdf,任选一种下载即可。
- 右上角会显示下载进度,完成后即可通过图书软件打开阅读。
小提示:如果书名搜不到,可以改用作者名搜索,反之亦然。
第十步:已下载书籍与历史记录
- 已下载书籍:可对已下载的书再次下载,或直接删除。
- 历史记录:可对某条记录再次搜索,或单条删除,也可以直接清空全部历史记录。
第十一步:设置(可选)
点击顶部的设置,可以进行一些偏好设置,包括:
- 默认下载格式:epub、txt、html、pdf。
- 书籍内容语言。
- 下载并发限制等。
一般保持默认即可,有特殊需求时再按需调整。
总结
- So Novel 是一款开源免费的小说下载工具,一条 Docker 命令即可部署,界面简洁、功能实用。
- 命令中的路径映射与端口映射,冒号后面的内容不能改,只能修改冒号前面的宿主机部分;非飞牛系统建议把
--restart always改为unless-stopped。 - 最容易踩的坑:容器创建后会有配置文件缺失报错,需要手动把
config.ini与rules规则目录上传到映射目录(如/vol1/1000/tools/sonovel/),再重新运行容器。 - 使用非常简单:搜索书名或作者 → 选择格式(epub/txt/html/pdf)下载 → 用图书软件打开即可。