前言
记事工具换了一款又一款,笔记却散落在电脑、手机和各种云端平台里。临时记录一段命令、保存一份部署步骤,往往还要先安装客户端、注册账号、配置同步,原本简单的记笔记反而变得越来越复杂。
如果只是需要一个打开浏览器就能使用、数据又完全掌握在自己手里的笔记工具,flatnotes 是一个很轻量的选择。它是一款开源的自托管 Markdown 笔记应用,不依赖传统数据库,所有笔记都以普通的 Markdown 文件保存在本地,备份和迁移都很方便。
flatnotes 支持全文搜索、标签管理和 Markdown 编辑预览,无需安装额外客户端,电脑和手机都能直接使用。本文将通过 Docker 完成部署,并结合 cpolar 实现公网访问,搭建一个走到哪里都能打开、数据始终留在自己手中的私人知识库。
1 什么是flatnotes?
项目地址:https://github.com/dullage/flatnotes
flatnotes 是一款开源的自托管 Markdown 笔记应用,主打简洁、轻量和无干扰的记录体验。它没有复杂的文件夹和笔记本层级,而是通过全文搜索与标签管理内容,需要时可以快速找到对应的笔记。
flatnotes 不依赖传统数据库,每篇笔记都会直接保存为普通的 Markdown 文件。这些文件既能在网页中编辑,也可以使用其他 Markdown 软件打开,即使以后更换平台,备份和迁移也很方便。
在功能方面,它提供 Markdown 源码与所见即所得两种编辑模式,支持笔记关联、明暗主题、多种身份验证方式以及移动端自适应。无论使用电脑还是手机,都可以获得较为完整的编辑和阅读体验。
2 使用Docker部署flatnotes
我这次使用的是一台 RK3566 小主机,已经刷好了飞牛 NAS ARM 版系统。飞牛 NAS 本身支持 Docker,所以这里不需要单独安装 Docker,直接通过 SSH 执行命令部署即可。
💡 温馨提示:如果你手里也有 RK3566 设备,还没有刷飞牛 NAS,可以先参考这篇刷机教程:https://www.cpolar.com/blog/tutorial-on-installing-arm-version-of-feibo-nas-system-on-rk3566-device-even-beginners-can-easily-complete-it
2.1 启用 Docker 和连接 SSH
首先打开飞牛 NAS 桌面的【Docker】,确认 Docker 服务已经开启。然后进入【系统设置】里的【SSH】,把 SSH 服务打开,后面的命令需要通过终端执行。
然后进入【系统设置】中,选择【SSH】,将其启用:
接着,电脑摁下【Win + X】键,选择【终端(管理员)】打开PowerShell窗口:
然后在终端输入如下ssh命令,进行远程连接你的飞牛Nas终端:
ssh rk3566@192.168.50.212
如下图所示:
接着,在终端执行如下命令,切换至root用户(输入密码时不会显示):
sudo -i
2.2 部署flatnotes
切换好后,然后在终端执行如下docker命令,拉取 flatnotes 官方镜像并创建容器:
docker run -d \
--name flatnotes \
--restart unless-stopped \
-p 8080:8080 \
-e PUID=1000 \
-e PGID=1000 \
-e FLATNOTES_AUTH_TYPE=password \
-e FLATNOTES_USERNAME=admin \
-e FLATNOTES_PASSWORD=123456 \
-e FLATNOTES_SECRET_KEY=flatnotes-secret-key-2026 \
-v flatnotes-data:/data \
dullage/flatnotes:latest
该命令会将容器命名为 flatnotes,并把 NAS 的 8080 端口映射到容器的 8080 端口(如果端口被占用,可以修改左侧的8080端口为其他未被占用的端口)。FLATNOTES_AUTH_TYPE=password 表示启用账号密码登录,默认用户名为 admin,密码为 123456,建议修改为更安全的强密码。
执行后如下图所示:
接着输入如下命令查看容器状态:
docker ps
可以看到状态显示为【UP】,并且旁边显示为healthy,表示容器已健康运行中,接着在浏览器中访问你的Nas地址+flatnotes的8080端口进行测试:
http://192.168.50.212:8080
可以看到成功的访问到页面了,使用前面创建的用户名admin和密码123456进行登录:

登录成功,可以看到首页很简洁,默认就只有一个搜索框。
3 使用体验flatnotes
3.1 创建笔记
编辑页面支持标题设置和 Markdown 正文编辑,右下角还可以切换 WYSIWYG(所见即所得)模式,不熟悉 Markdown 语法也可以直接进行可视化编辑:

点击【save】按钮进行保存,回到主页即可看到刚才保存的文章标题:

点击标题进入详情可以直接预览,同时右上角也支持删除和编辑该内容:

3.2 搜索笔记
在首页直接搜索,支持标题和正文内容模糊搜索,模糊搜索可以使用【*】号进行前/后匹配,如:
一个*
如下图:
这样当你有许多笔记,想要搜索某一篇笔记却不太记得全名称时,可以通过模糊匹配的方式进行搜索,特别方便。
3.3 移动端适配
可以看到UI适配的也是挺不错。
4 穿透 flatnotes 以实现公网访问
前面我们已经把 flatnotes 部署到了飞牛 NAS 上,不过,局域网里的服务终究还是局域网服务。flatnotes 的 Web 界面虽然可以通过本地地址访问,但如果人在外面,想远程查看笔记,临时记录笔记时,就没那么方便了。
所以接下来,我们给它加上 cpolar 内网穿透,把飞牛 NAS 本地的 8080 端口 映射到公网。这样即使不在家,也能通过公网地址随时随地的访问 flatnotes 的 Web 界面了。
4.1 什么是 cpolar?
cpolar 是一款内网穿透工具,可以把局域网内运行的服务映射到公网。
简单来说,只要服务已经在本地跑起来,比如本文中的 flatnotes界面的 8080 端口,就可以通过 cpolar 创建公网访问地址。这样外部设备不需要配置路由器端口转发,也能远程访问本地服务。
cpolar 支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,也适合飞牛 NAS 这类支持 SSH 和 Docker 的设备使用。
4.2 安装 cpolar
回到 SSH 终端窗口,也就是前面连接飞牛 NAS 的终端,执行下面命令安装 cpolar:
sudo curl https://get.cpolar.sh | sh
如下图所示:
安装完成后,执行下面命令查看 cpolar 服务状态:
sudo systemctl status cpolar
如下图所示:
如果状态中显示active (running) 就说明 cpolar 已经正常启动。
接着,在浏览器中输入下面地址,访问 cpolar 的 Web UI 控制台,例如我这里的飞牛 NAS IP 是 192.168.50.212,所以访问地址就是:
http://192.168.50.212:9200
如下图所示:
可以看到,已经成功进入 cpolar 的 Web UI 页面。如果还没有注册 cpolar 账号,也可以点击页面底部的注册入口先完成账号注册。
4.3 将 flatnotes 映射到公网
注册好账号以后,回到该页面进行登录即可,登录成功后,进入侧边的【隧道管理>隧道列表】,可以看到有2条隧道:
选择【website】这条隧道,点击编辑进行修改(也可以创建一条新的隧道):
创建或者更新完成后,接着点击【状态>在线隧道列表】,可以看到同一个隧道生成了两个公网访问地址,一个是 http,另一个是 https:
这里以https为例,访问测试一下:
可以看到,成功的访问到了flatnotes界面,这样就已经成功支持外网访问啦!
5 固定二级子域名
通过前面的随机域名方式,我们已经验证 flatnotes 可以正常通过公网访问。不过,随机生成的公网地址会周期性变化。地址更新后,之前收藏的书签或保存在手机中的访问入口也会随之失效,需要重新进入 cpolar 的在线隧道列表获取新地址。
如果准备长期使用 flatnotes ,并希望随时在外面查看笔记,创建新的笔记,可以继续配置固定二级子域名。完成设置后,公网访问地址将保持固定,后续可以直接收藏到浏览器中,不需要反复更换。
5.1 设置二级子域名
首先,登录 cpolar 官网后台,进入 预留 页面:
https://dashboard.cpolar.com/reserved
在左侧菜单中选择【预留】,找到【保留二级子域名】配置项。按照下面信息填写:
| 配置项 | 填写说明 |
|---|---|
| 地区 | 选择和前面隧道一致的地区,如:China Top |
| 名称 | 自定义二级子域名,例如 flatnotes,注意:该项不能重复,二级子域名名称是唯一的 |
| 描述 | 填写任意方便辨识的备注即可 |
如下图所示:
填写完成后,点击【保留】按钮。保留成功后,会得到一个固定的二级子域名。
5.2 修改隧道为子域名方式
接着,回到【隧道管理>隧道列表】下,点击编辑flatnotes这条隧道:
将域名类型修改为【二级子域名】,并填写刚才在官网后台保留的二级子域名,然后点击更新按钮:
更新完成后,点击左侧菜单【状态>在线隧道列表】,可以看到 flatnotes隧道已经变成固定公网地址:
复制生成的固定公网地址,在浏览器中访问:
可以看到,左上角访问的固定公网地址,同样可以登录访问到文章笔记。这样后续就不需要担心随机地址发生变化,无论是在电脑还是手机上,都可以通过同一个地址查看笔记和创建笔记啦!
总结
至此,flatnotes 已经成功部署到飞牛 NAS,并通过 cpolar 实现了公网访问。
flatnotes 的特点就是足够简单:不需要额外安装客户端,也不依赖传统数据库,打开浏览器就可以创建、编辑和搜索 Markdown 笔记。所有笔记都以普通 Markdown 文件的形式保存,后续无论是备份、迁移,还是使用其他 Markdown 工具继续编辑都比较方便。
通过 cpolar 将本地 8080 端口映射到公网后,在外面也可以直接通过浏览器访问自己的 flatnotes。进一步配置固定二级子域名后,访问地址不会再周期性变化,电脑和手机都可以收藏同一个地址长期使用。
对于平时需要保存命令、部署步骤、技术笔记,或者只是想搭建一个轻量私人知识库的用户来说,flatnotes 是一个部署成本比较低的自托管方案。
感谢您阅读本篇文章,有任何问题欢迎留言交流。 cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站





























