夜雨聆风学习资料网

ARTICLE · 1250139

6万道公考真题打造私人题库:NAS部署Obsidian全流程解析

6万道公考真题打造私人题库:NAS部署Obsidian全流程解析

平时有记笔记、整理资料或者备考学习需求的朋友,应该都听说过Obsidian。这款大名鼎鼎的双链笔记软件以纯本地的Markdown文件为基础,支持双向链接、关系图谱和丰富的插件生态,非常适合用来搭建个人知识库。

不过我们在日常使用时也会遇到一个问题,如果手头有好几台电脑、平板,或者收集了体量庞大的资料,如果想要在多设备之间随时阅读和管理,要么得折腾同步方案,要么就得在每台设备上都拷贝一份仓库。

最近不是又快国考了么,恰好我正好在GitHub上发现了一个非常硬核的开源项目ERRRC/xingcezhenti。

这个项目把2016–2026以来各省份10年的公考行测真题都整理成了标准的Markdown格式,足足有515 套试卷、58890 道真题,而且按行测的六大核心模块进行了分门别类的整理,题干、选项、答案、官方解析一应俱全,对于正在备考或者喜欢收集优质学习资料的朋友来说,这个项目简直是太coooool了。

更贴心的是,作者在整理时就原生使用了Obsidian的双链语法制作了各级目录索引,并且把将近4万张题目配图全部本地化保存在了本地目录,用Obsidian作为仓库打开后,目录跳转和图片显示完全无缝衔接,断网也能流畅查阅。

所以我想到,如果能把这套近 6 万道真题题库保存在NAS上,再用Docker部署一个网页版Obsidian来统一管理和阅读,不仅省去了多端同步的麻烦,局域网里的任何电脑打开浏览器就能直接刷题、记笔记、看解析,体验可以说是直接拉满。

今天咱们就以我手头的威联通Qu805为例,带大家完整走一遍Docker部署Obsidian,并接入这整套开源真题库的全流程,大家全程跟着做就行。

一、准备工作

为了避免后续容器更新或者NAS重启后配置丢失,同时把真题文件妥善保存在NAS里,我们需要先在NAS上做好目录规划,并把整套题库给它拉到本地。

1. 创建Docker容器数据文件夹

打开威联通QTS后台的File Station,在存放Docker容器数据的共享文件夹中创建一个名为Obsidian的目录。

比如,我使用的路径为/share/Container/obsidian

然后在里面继续创建两个子文件夹,目录结构如下:

/share/Container/obsidian/

├── config/

└── vaults/

其中,

  • config
    :用于保存Obsidian容器的系统环境配置、偏好设置以及字体缓存。
  • vaults
    :用于集中存放我们的Obsidian笔记仓库(一会儿下载的真题项目就会放在这里)。

当然了,如果大家平时之前已经有专门存放文档或笔记的共享文件夹,也可以直接把现有路径映射给容器,不需要为了部署容器再把文件重复拷贝一遍。

2. 下载题库文件

接下来我们需要把这个真题项目放到刚才建好的 /share/Container/obsidian/vaults 目录中,个人比较推荐用电脑下载ZIP压缩包后上传到NAS里,操作方法也很简单。

1.在电脑浏览器中打开项目主页。

2.点击页面右上角绿色的「Code」按钮,选择「Download ZIP」,将整个项目打包下载到电脑本地。

3.将这个压缩包在电脑解压后,打开威联通的File Station,进入 /share/Container/obsidian/vaults 目录,将解压后的 xingcezhenti 这个内层文件夹上传进去。

如果直接下载压缩包的方法搞不定的话,可以用豆包之类的AI工具,让它直接帮忙下载即可。

二、威联通NAS部署Obsidian流程

准备工作搞定后,我们使用威联通NAS的Container Station,通过Docker Compose方式一键部署linuxserver/obsidian。

1. 解决中文乱码方块字问题

很多朋友第一次在NAS上用Docker部署linuxserver/obsidian时,可能发现界面和笔记里的中文全都是“口口口”一样的乱码方块。

这是因为官方基础镜像为了精简体积,默认只内置了拉丁文(英文)字体,没有安装中文字体包。为了解决这个问题,我们不需要进容器手敲命令,直接在Docker Compose的环境变量里加上官方提供的universal-package-install插件模块,让容器在首次启动时自动安装 onts-noto-cjk思源黑体 CJK 中文字体包,同时把系统语言设为zh_CN.UTF-8,就能一步到位告别中文乱码。

2. 使用Docker Compose部署Obsidian

打开威联通NAS的Container Station,进入左侧的「应用程序」,点击右上角的「创建」按钮,准备使用DockerCompose 部署。

在应用程序名称处填入obsidian,然后将下面的YAML代码完整粘贴到编辑框中:

services:  obsidian:    image: lscr.io/linuxserver/obsidian:latest    container_name: obsidian    security_opt:      - seccomp:unconfined    environment:      - PUID=1000      - PGID=1000      - TZ=Asia/Shanghai      - LC_ALL=zh_CN.UTF-8      - DOCKER_MODS=linuxserver/mods:universal-package-install      - INSTALL_PACKAGES=fonts-noto-cjk      # 可选:如果局域网有多人使用,可取消下方两行注释设置网页访问账号密码      # - CUSTOM_USER=admin      # - PASSWORD=123456    volumes:      - /share/Container/obsidian/config:/config      - /share/Container/obsidian/vaults:/vaults    ports:      - "3030:3000"      - "3031:3001"    devices:      - /dev/dri:/dev/dri    shm_size: "1gb"    restart: unless-stopped

这里有几处关键参数需要大家注意,请根据自己NAS的实际情况核对修改:

  • volumes
    路径映射:冒号前面的 /share/Container/obsidian/config 和 /share/Container/obsidian/vaults 必须替换为你自己NAS上的真实路径。另外PUID/PGID最好在NAS中查看自己实际用户ID,规避可能的权限问题。
  • ports
    端口映射:容器内部默认使用3000(HTTP)和3001(HTTPS)端口。因为威联通上很多其他容器也常用3000端口,为了避免冲突,我将外部访问端口改成了 3030 和 3031。
  • devices
    核显加速:威联通Qu805是x86架构,并带有Intel核显,映射 /dev/dri:/dev/dri 可以开启硬件图形加速,让网页端的渲染更加顺畅。ARM架构或者无核显的NAS需要删掉这部分内容。
  • shm_size: "1gb"
    :**这一项非常关键,**Obsidian是基于Electron框架开发的应用,运行在容器里加上处理近6万道题的大体量仓库,如果默认的共享内存(64MB)太小,非常容易出现白屏或崩溃,分配1gb共享内存可以保证稳定运行,反正咱们 Qu805 有 16GB 内存,完全够用。
  • DOCKER_MODS
    与INSTALL_PACKAGES:这就是前面提到的自动安装中文字体配置,确保中文正常显示。

确认路径和端口都没有问题后,点击底部的「创建」按钮。

这里提醒一下,由于我们配置了INSTALL_PACKAGES=fonts-noto-cjk,容器在首次启动时会自动拉取镜像并在后台下载安装中文字体包。因此第一次启动耗时可能会稍微久一点。

三、访问Obsidian并导入行测真题库

容器正常跑起来之后,我们就可以在浏览器里打开Obsidian,把刚才准备好的题库加载进来了。

1. 浏览器访问

打开电脑或平板的浏览器,在地址栏输入https://NAS局域网IP:3031

例如,我的威联通Qu805局域网IP是 192.168.10.70,那么访问地址就是https://192.168.10.70:3031

首次打开时浏览器会提示“您的连接不是私密连接”,直接点击「继续前往」即可正常进入。

2. 打开题库文件夹作为仓库

现在我们来看屏幕中间的Obsidian欢迎界面,找到「打开文件夹作为仓库」,点击右侧的「打开」按钮。

在弹出的路径选择框中,找到根目录下的 /vaults 文件夹:

点进去就能看到我们前面放入的 真题文件夹了,然后选中该文件夹,点击确认打开。

由于这套题库足足有近6万道题和近4万张图片,首次打开仓库时,Obsidian右上角会提示正在建立索引,在 Qu805 上大概只需要十几秒就能全部索引完成。

四、使用Obsidian使用行测真题实战体验

索引完成后,整个ERRRC/xingcezhenti题库就完整呈现在我们眼前了,不得不说用Obsidian来阅读和管理这套题库的体验真的非常惊艳。

1. 总索引与双链目录一键直达

首先点开根目录下的 README.md 文件,这就是整套题库的「总索引」。如果当前处于源码编辑模式,可以点击右上角的「书本图标」(或按快捷键 Ctrl + E)切换到阅读视图。

在总索引表格中,政治理论、常识判断、言语理解与表达、数量关系、判断推理、资料分析六大模块清晰罗列。

我们直接用鼠标点击左侧任意模块下的某张试卷,就能瞬间跳转,层级逻辑非常清晰。

2. 图文并茂刷题,断网也能看解析

我们随便点开一套试卷或模块真题,可以看到,每一道题目的题干、选项、参考答案以及详细的官方解析都排版得整整齐齐,而文件夹下的数万张图表,也全部通过相对路径直接渲染在了题目正文中,体验很好。

如果想要提升刷题沉浸感,我们还可以在阅读时先看题干自己思考,再往下滚动查看官方解析。

3. 全局秒级搜索与错题笔记管理

相比于传统的PDF试卷或者零散的Word文档,把.md 题库放进Obsidian最大的优势就在于强大的检索与二次加工能力。

我们可以按考点/关键词全局搜索,点击左上角的「搜索(放大镜图标)」,Obsidian 可以在一秒钟内从 58,890 道题里精准捞出所有包含该关键词的真题,非常适合针对薄弱考点进行专项突破。

遇到做错的题或者经典好题,我们可以直接在题目下方加上 #错题、#重点复盘、#秒杀技巧 等标签,或者自己在仓库里新建一个 我的错题本.md,用 [[试卷名#题号]] 的双链形式把错题直接引用过来,写下自己的解题心得。

如果你喜欢折腾 AI,项目根目录还附带了一份《蒸馏方法参考.md》,里面详细分享了作者使用过的拆书方法论(RIA-TV++)和Prompt经验。结合Obsidian的AI插件,你甚至可以让大模型基于这套本地题库帮你做考点统计和智能问答。

总结

总的来说,将Docker版Obsidian部署在威联通NAS上,再配合免费开源的行测真题项目,算得上是一套非常优雅的私人题库 + 知识管理中心的解决方案。

对于家里有NAS的朋友来说,这套方案既发挥了NAS 7×24 小时在线、大容量集中存储的优势,又完美利用了Obsidian的强大管理能力。不管你是不是正在备考公务员,都可以收集其他各类Markdown格式的开源电子书、面试题库、技术文档,用完全相同的思路把它们塞进NAS的Obsidian里进行统一管理。

以上就是本期的全部内容了,如果大家在部署过程中遇到任何问题,欢迎在评论区交流,我们下期再见!

相关学习资料