思源笔记 – 本地优先、可自托管的块级知识库部署手记

前言

image-20261112174451824

很多人都有这样的经历:随手在各类在线笔记里记下菜谱、设备调试步骤、读书笔记,等到想用的时候,要么平台限流、功能收费,要么担心自己的记录被上传、被抓取,甚至哪天账号出问题,辛苦攒下的内容说没就没。

思源笔记是一款开源、本地优先、可自托管的块级知识库。它以块作为内容最小单元,依靠双向链接、知识图谱,把碎片化的信息编织成连贯的知识网络,同时支持 Docker 部署,很适合放在 NAS 上自建服务。

本文记录我在 fnOS 环境下用 Docker 部署思源笔记的完整过程,重点解决新版镜像强制开启访问认证的报错问题,梳理授权码配置、数据持久化、内外网访问的安全边界。不管是用来收纳日常随笔、整理技术踩坑记录,还是长期沉淀自己的知识,都可以参考这份可直接落地的实操方案。

1.思源笔记是什么?

思源笔记是国产AGPL3.0 开源、本地优先、隐私优先的个人知识管理系统,主打块级双链,支持 Docker 自托管部署,默认端口 6806Gitee。

image-20261112174509611

核心特点

  • 以内容块为最小单元:标题、段落、列表、代码块都有独立永久 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服务:

463c5f2aa280d7887420494b8b8f852e

27abe7f94baeaebc1738b60b1ba78933

e16c7480a399e50f627439329422c5a7

2.2验证docker是否开启

使用命令:

docker -v
systemctl status -v

也可以直接在飞牛主页查看(其他机器也是这样的哦~)

bc2a0952beed8ca143a171bb000b2b23

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

image-20261112170042972

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

image-20261112165949007

启动:

docker-compose up -d

image-20261112170009042

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

fd235c7759c7408abfa624506e734e02

4.使用思源笔记

我们在部署中设置了一个密码,使用这个密码登录即可:

109ae86cf21c84dc3430da37906a2d65

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

13adbd2f6e50514db09287b7898e09e2

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

image-20261112170430491

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

image-20261112170618969

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

image-20261112171025322

快速书写日记:

image-20261112171156755

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

image-20261112171230283

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

image-20261112171437091

通勤路上突然冒出想法,想翻看家里 NAS 上部署的思源笔记知识库,不用公网 IP、不用改路由器,借助 cpolar 内网穿透拉起安全隧道,手机直接打开思源网页端查阅、编辑笔记,知识图谱、文档全都留在自己设备里,隐私可控,随时随地调取私有笔记库。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

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

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

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

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:siyuan,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:6806
  • 域名类型:随机域名
  • 地区:选择China Top

image-20261112173817848

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

image-20261112173846753

访问成功。

image-20261112173903477

7.保留固定公网地址

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

image-20250918151358733

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

image-20261112174002506

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

image-20261112174031901

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20261112174115101

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

image-20261112174246921

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

image-20261112174303104

总结

这篇手记完整演示了思源笔记的自托管部署方案,依托本地优先、块级编辑的特性,把知识库放在自己的 NAS 或服务器上,搭配 cpolar 内网穿透,不用公网 IP、不用配置路由器,出门在外手机、平板就能安全访问、编辑笔记,数据全程自留,兼顾随时随地查阅的便利和隐私可控的需求,适合想要搭建私有知识库、不希望笔记上传第三方平台的用户。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章