打开浏览器就能记笔记:部署 flatnotes 自托管 Markdown 知识库

前言

记事工具换了一款又一款,笔记却散落在电脑、手机和各种云端平台里。临时记录一段命令、保存一份部署步骤,往往还要先安装客户端、注册账号、配置同步,原本简单的记笔记反而变得越来越复杂。

如果只是需要一个打开浏览器就能使用、数据又完全掌握在自己手里的笔记工具,flatnotes 是一个很轻量的选择。它是一款开源的自托管 Markdown 笔记应用,不依赖传统数据库,所有笔记都以普通的 Markdown 文件保存在本地,备份和迁移都很方便。

flatnotes 支持全文搜索、标签管理和 Markdown 编辑预览,无需安装额外客户端,电脑和手机都能直接使用。本文将通过 Docker 完成部署,并结合 cpolar 实现公网访问,搭建一个走到哪里都能打开、数据始终留在自己手中的私人知识库。

1 什么是flatnotes?

image-20260812174157124

项目地址: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 服务打开,后面的命令需要通过终端执行。

image-20260505174537607

然后进入【系统设置】中,选择【SSH】,将其启用:

image-20260505174623872

接着,电脑摁下【Win + X】键,选择【终端(管理员)】打开PowerShell窗口:

image-20260505174939658

然后在终端输入如下ssh命令,进行远程连接你的飞牛Nas终端:

ssh rk3566@192.168.50.212

如下图所示:

111

接着,在终端执行如下命令,切换至root用户(输入密码时不会显示):

sudo -i

image-20260505180939492

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,建议修改为更安全的强密码。

执行后如下图所示:

image-20260813173301957

接着输入如下命令查看容器状态:

docker ps

如下图:
image-20260813173424002

可以看到状态显示为【UP】,并且旁边显示为healthy,表示容器已健康运行中,接着在浏览器中访问你的Nas地址+flatnotes的8080端口进行测试:

http://192.168.50.212:8080

如下图:
image-20260813173655310

可以看到成功的访问到页面了,使用前面创建的用户名admin和密码123456进行登录:
image-20260813174031410

登录成功,可以看到首页很简洁,默认就只有一个搜索框。

3 使用体验flatnotes

3.1 创建笔记

首先,点击右上角的【New Note】按钮进行新建笔记:
image-20260813174515402

编辑页面支持标题设置和 Markdown 正文编辑,右下角还可以切换 WYSIWYG(所见即所得)模式,不熟悉 Markdown 语法也可以直接进行可视化编辑:
image-20260813174912895

如下图:
image-20260813174941458

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

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

3.2 搜索笔记

在首页直接搜索,支持标题和正文内容模糊搜索,模糊搜索可以使用【*】号进行前/后匹配,如:

一个*

如下图:

image-20260813175316582

这样当你有许多笔记,想要搜索某一篇笔记却不太记得全名称时,可以通过模糊匹配的方式进行搜索,特别方便。

3.3 移动端适配

输入Nas的访问地址(即局域网地址),在手机上访问:
image-20260813180140954

可以看到UI适配的也是挺不错。

4 穿透 flatnotes 以实现公网访问

前面我们已经把 flatnotes 部署到了飞牛 NAS 上,不过,局域网里的服务终究还是局域网服务。flatnotes 的 Web 界面虽然可以通过本地地址访问,但如果人在外面,想远程查看笔记,临时记录笔记时,就没那么方便了。

所以接下来,我们给它加上 cpolar 内网穿透,把飞牛 NAS 本地的 8080 端口 映射到公网。这样即使不在家,也能通过公网地址随时随地的访问 flatnotes 的 Web 界面了。

4.1 什么是 cpolar?

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

如下图所示:

image-20260509152034028

安装完成后,执行下面命令查看 cpolar 服务状态:

sudo systemctl status cpolar

如下图所示:

image-20260509152054654

如果状态中显示active (running) 就说明 cpolar 已经正常启动。

接着,在浏览器中输入下面地址,访问 cpolar 的 Web UI 控制台,例如我这里的飞牛 NAS IP 是 192.168.50.212,所以访问地址就是:

http://192.168.50.212:9200

如下图所示:

image-20260509152129581

可以看到,已经成功进入 cpolar 的 Web UI 页面。如果还没有注册 cpolar 账号,也可以点击页面底部的注册入口先完成账号注册。

4.3 将 flatnotes 映射到公网

注册好账号以后,回到该页面进行登录即可,登录成功后,进入侧边的【隧道管理>隧道列表】,可以看到有2条隧道:

image-20260509152805723

选择【website】这条隧道,点击编辑进行修改(也可以创建一条新的隧道):

image-20260813182853198

创建或者更新完成后,接着点击【状态>在线隧道列表】,可以看到同一个隧道生成了两个公网访问地址,一个是 http,另一个是 https:

image-20260813182944196

这里以https为例,访问测试一下:

image-20260813183032754可以看到,成功的访问到了flatnotes界面,这样就已经成功支持外网访问啦!

5 固定二级子域名

通过前面的随机域名方式,我们已经验证 flatnotes 可以正常通过公网访问。不过,随机生成的公网地址会周期性变化。地址更新后,之前收藏的书签或保存在手机中的访问入口也会随之失效,需要重新进入 cpolar 的在线隧道列表获取新地址。

如果准备长期使用 flatnotes ,并希望随时在外面查看笔记,创建新的笔记,可以继续配置固定二级子域名。完成设置后,公网访问地址将保持固定,后续可以直接收藏到浏览器中,不需要反复更换。

5.1 设置二级子域名

首先,登录 cpolar 官网后台,进入 预留 页面:

https://dashboard.cpolar.com/reserved

在左侧菜单中选择【预留】,找到【保留二级子域名】配置项。按照下面信息填写:

配置项 填写说明
地区 选择和前面隧道一致的地区,如:China Top
名称 自定义二级子域名,例如 flatnotes注意:该项不能重复,二级子域名名称是唯一的
描述 填写任意方便辨识的备注即可

如下图所示:

image-20260813183651737

填写完成后,点击【保留】按钮。保留成功后,会得到一个固定的二级子域名。

5.2 修改隧道为子域名方式

接着,回到【隧道管理>隧道列表】下,点击编辑flatnotes这条隧道:

image-20260813183858839

将域名类型修改为【二级子域名】,并填写刚才在官网后台保留的二级子域名,然后点击更新按钮:

image-20260813184011160

更新完成后,点击左侧菜单【状态>在线隧道列表】,可以看到 flatnotes隧道已经变成固定公网地址:

image-20260813184042350

复制生成的固定公网地址,在浏览器中访问:

image-20260813184109726

登录并访问一个笔记看一下:
image-20260813184151811

可以看到,左上角访问的固定公网地址,同样可以登录访问到文章笔记。这样后续就不需要担心随机地址发生变化,无论是在电脑还是手机上,都可以通过同一个地址查看笔记和创建笔记啦!

总结

至此,flatnotes 已经成功部署到飞牛 NAS,并通过 cpolar 实现了公网访问。

flatnotes 的特点就是足够简单:不需要额外安装客户端,也不依赖传统数据库,打开浏览器就可以创建、编辑和搜索 Markdown 笔记。所有笔记都以普通 Markdown 文件的形式保存,后续无论是备份、迁移,还是使用其他 Markdown 工具继续编辑都比较方便。

通过 cpolar 将本地 8080 端口映射到公网后,在外面也可以直接通过浏览器访问自己的 flatnotes。进一步配置固定二级子域名后,访问地址不会再周期性变化,电脑和手机都可以收藏同一个地址长期使用。

对于平时需要保存命令、部署步骤、技术笔记,或者只是想搭建一个轻量私人知识库的用户来说,flatnotes 是一个部署成本比较低的自托管方案。

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

Share:

发表回复

目录

On Key

推荐文章