前言

很多人都有这样的经历:随手在各类在线笔记里记下菜谱、设备调试步骤、读书笔记,等到想用的时候,要么平台限流、功能收费,要么担心自己的记录被上传、被抓取,甚至哪天账号出问题,辛苦攒下的内容说没就没。
思源笔记是一款开源、本地优先、可自托管的块级知识库。它以块作为内容最小单元,依靠双向链接、知识图谱,把碎片化的信息编织成连贯的知识网络,同时支持 Docker 部署,很适合放在 NAS 上自建服务。
本文记录我在 fnOS 环境下用 Docker 部署思源笔记的完整过程,重点解决新版镜像强制开启访问认证的报错问题,梳理授权码配置、数据持久化、内外网访问的安全边界。不管是用来收纳日常随笔、整理技术踩坑记录,还是长期沉淀自己的知识,都可以参考这份可直接落地的实操方案。
1.思源笔记是什么?
思源笔记是国产AGPL3.0 开源、本地优先、隐私优先的个人知识管理系统,主打块级双链,支持 Docker 自托管部署,默认端口 6806Gitee。

核心特点
- 以内容块为最小单元:标题、段落、列表、代码块都有独立永久 ID,支持块引用、块嵌入、双向链接,文档移动、重命名之后链接不会失效,颗粒度远细于普通文件双链笔记。
- Markdown 所见即所得,原生支持百万字长文档,自带流程图、公式、PDF 标注、网页剪藏、数据库表格、闪卡间隔复习、SQL 查询、AI 助手等功能,还能导出 Word、PDF、公众号格式Gitee。
- 数据默认存在本机,离线可用;支持 S3/WebDAV/ 官方云端到端加密同步,NAS、服务器 Docker 部署自建私有知识库,可设置访问密码保护内容B3log。
- 全平台覆盖:Windows、macOS、Linux、安卓、iOS、鸿蒙,网页端直接访问。
和其他知识库的区别
- 和 Obsidian:Obsidian 以独立 md 文件为基础;思源是块数据库模型,引用更稳定,自带数据库、AI、闪卡,原生支持 Web 服务自托管,插件生态偏小、国内社区强。
- 和 Notion:Notion 是 SaaS 闭源在线服务;思源数据完全自己掌控、离线可用、可私有化部署,没有网络依赖,但多人实时协同偏弱。
- 和 Docmost:Docmost 偏向团队协同文档;思源定位个人第二大脑、知识库、学习笔记,双链、块引用、知识复盘能力更强。
一句话总结
思源笔记适合想自建私有知识库、看重隐私、喜欢双链关联整理知识的人,NAS 用 Docker 部署,搭配 cpolar 就能在外网远程访问自己的笔记库。
2.安装前提条件
2.1ssh远程连接到飞牛
- 开启【SSH服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
在设置—>SSH中开启SSH服务:



2.2验证docker是否开启
使用命令:
docker -v
systemctl status -v
也可以直接在飞牛主页查看(其他机器也是这样的哦~)

3.安装思源笔记
docker一键部署
使用 docker命令后台启动网页监控思源笔记容器,映射宿主机6806端口,使用命名卷持久化监控数据,并设置开机自动重启:
# 极简docker run
docker run -d \
--name siyuan \
--restart=unless-stopped \
-p 6806:6806 \
-v /data/siyuan/workspace:/siyuan/workspace \
b3log/siyuan \
--workspace=/siyuan/workspace \
--accessAuthCode=你的密码
验证docker状态:
docker ps

compose版本
创建存放docker配置文件的文件夹:
mkdir -p /docker/siyuan
cd /docker/siyuan
vi /docker/ServeDash/docker-compose.yml
version: "3"
services:
siyuan:
image: b3log/siyuan:latest
container_name: siyuan
restart: unless-stopped
ports:
- "6806:6806"
volumes:
- ./siyuan-workspace:/siyuan/workspace
environment:
- TZ=Asia/Shanghai
- SIYUAN_ACCESS_AUTH_CODE=MyStrongPass123456

启动:
docker-compose up -d

部署完成后,在浏览器中输入 http://飞牛IP:6806 就能看到思源笔记的界面:

4.使用思源笔记
我们在部署中设置了一个密码,使用这个密码登录即可:

我们就可以成功进入思源笔记的初始化欢迎页面:

为了方便我们操作,我们先把语言换成中文:

,当前笔记本 My Notebook 下打开文档《A Fresh Start》;中间编辑区内已经录入了介绍思源笔记、Docker 部署相关的正文内容;画面右侧展开了文档右上角三点菜单的下拉功能列表,包含插入图片或文件、嵌入 HTML、录音、图床相关转换、刷新、全屏切换、只读模式等文档操作选项,底部还展示了文档字符、链接、图片、块的统计信息。

支持继续添加标签、设置题头图、设置表情。

快速书写日记:

这是思源笔记的闪卡复习完成页面,页面顶部标题为「闪卡」,右上角有筛选、设置、导出功能按钮;

这是思源笔记的设置页面,当前选中左侧菜单栏的编辑器 – 行为分类。页面展示了一系列编辑器相关配置项:只读模式、拼写检查、光标上下文行数、内容块角标、显示完整块标、Tab 空格数、标签搜索、粘贴网址自动转链接、粘贴导入兼容 LaTeX 公式分隔符,每个选项附带功能说明、开关或者输入选择控件,用来自定义思源笔记编辑器的编辑交互习惯。

通勤路上突然冒出想法,想翻看家里 NAS 上部署的思源笔记知识库,不用公网 IP、不用改路由器,借助 cpolar 内网穿透拉起安全隧道,手机直接打开思源网页端查阅、编辑笔记,知识图谱、文档全都留在自己设备里,隐私可控,随时随地调取私有笔记库。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:siyuan,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:6806
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

7.保留固定公网地址
使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是siyuann,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结
这篇手记完整演示了思源笔记的自托管部署方案,依托本地优先、块级编辑的特性,把知识库放在自己的 NAS 或服务器上,搭配 cpolar 内网穿透,不用公网 IP、不用配置路由器,出门在外手机、平板就能安全访问、编辑笔记,数据全程自留,兼顾随时随地查阅的便利和隐私可控的需求,适合想要搭建私有知识库、不希望笔记上传第三方平台的用户。
感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站



