自托管笔记应用Flatnotes极简部署,无数据库Markdown笔记库远程访问方案
作者
小编
发布时间

项目介绍
Flatnotes 是一款自托管、无数据库的极简笔记应用,采用扁平化的 Markdown 文件存储方案。它提供了一个简洁优雅的网页界面,让你可以轻松管理和搜索所有笔记。无论是个人知识库、日常记录还是工作备忘,Flatnotes 都能胜任。
这个项目的核心理念是'笔记自由'——你的笔记就是普通的 Markdown 文件,没有数据库锁定,没有复杂的文件夹结构,完全开放。你随时可以把文件移到其他地方继续使用,不用担心被应用绑定。同时,Flatnotes 还提供了强大的全文搜索、标签系统、WikiLink 链接、WYSIWYG 编辑器等功能,让笔记管理变得轻松高效。
项目地址:点我跳转
部署安装
flatnotes 装在自己的 NAS 上之后,只能在家里的网络访问。想在外面也能打开,家里又没有公网 IP,可以用 帕斯内网穿透 把它开放到公网 —— 飞牛的应用中心里就能直接装到插件,不用另外找工具。下面这套流程在飞牛 NAS 上从头到尾走一遍。
第一步:准备编排文件
作者在 Docker Hub 上发了官方镜像,还带版本 tag,直接拉就行,不用自己构建。下面这份编排可以直接用,三处需要你按自己的情况改:端口、以及最后那三个环境变量。
1services:2 flatnotes:3 image: dullage/flatnotes:v5.5.54 restart: always5 ports:6 - "8085:8080"7 volumes:8 - ./data:/data9 environment:10 PUID: 100011 PGID: 100012 FLATNOTES_AUTH_TYPE: password13 FLATNOTES_USERNAME: 改成你自己的14 FLATNOTES_PASSWORD: 改成你自己的15 FLATNOTES_SECRET_KEY: 换一串随机字符16
端口:冒号左边的 8085 是待会儿在浏览器里输的宿主端口,右边的 8080 是容器内部的端口,不要动。8085 如果和你机器上别的服务撞了,换一个没被占用的即可。
数据目录:./data 是相对于项目目录的路径,你记的每一条笔记都会以 .md 文件的形式落在这里。用相对路径的好处是,在飞牛的「文件管理」里就能直接看到这些文件。
最后三个变量必须改成你自己的:FLATNOTES_USERNAME 和 FLATNOTES_PASSWORD 是登录用的用户名和密码,FLATNOTES_SECRET_KEY 换一串足够长的随机字符就行,它用来签发登录凭据。
第二步:在飞牛里建 Compose 项目
打开飞牛桌面上的 Docker,切到上面的「Compose」,点右上角的「新增项目」。项目名称填 flatnotes。
路径这一栏点开,在「我的文件」下面新建一个空文件夹并选中它。这个文件夹就是这个项目以后放数据的地方,上面编排里那个 ./data 就会建在它下面。
来源选「创建docker-compose.yml」,把上面那段编排整段贴进去,勾上「创建项目后立即启动」,点确认。镜像拉完项目就会自己跑起来,回到列表能看到它是运行中。
第三步:用 PassNAT 插件开放到公网
在飞牛的应用中心里搜 PassNAT,装上,用账号登一次。打开插件切到「隧道」,点「创建隧道」。
隧道名称随便起(注意不能超过 12 个字符),接入节点和传输协议保持默认。本地 IP 这一栏不用动,留空默认就是 127.0.0.1 —— 插件本来就跑在 NAS 上,回环地址天然指向本机。本地端口填 8085,也就是上面编排里冒号左边那个。
创建完回到隧道列表,点开这条隧道的详情,按标题行最左边那个电源图标启动它,状态转成「运行中」。详情里「公网连接」那一列的地址,就是你在外面要访问的地址。
第四步:笔记就是普通文件
用公网地址打开 flatnotes,右上角「New Note」新建一条笔记,标题和正文写完它自己就存了,不用点保存。
然后回飞牛的文件管理,进到刚才那个项目文件夹下面的 data 目录 —— 你会看到刚写的笔记就是一个 .md 文件,文件名就是笔记标题。想备份就直接拷走,想换个编辑器打开也随时可以,不存在被应用绑住的问题。
一些说明
flatnotes 的界面目前只有英文,不过它对中文内容的支持是完整的:标题、表格、清单这些 Markdown 写法都能正常渲染,笔记标题用中文也没问题。
另外它没有多用户,一套用户名密码对应一个笔记库。自己用或者家里人共用一个库都可以,需要各自独立的笔记本就得起多个实例。