简介
flatnotes 是一个自托管、无数据库的笔记应用,所有笔记以 Markdown 文件的形式保存在扁平文件夹结构中。它强调简洁无干扰的笔记记录体验,让内容始终成为焦点。主要特点如下:
- 清爽简单的用户界面。

- 去掉了文件夹、笔记本等概念,只保留“笔记”本身,同时提供强大的搜索和标签功能。
- 在任何页面按下
/ 键即可快速进行全文搜索。
笔记本质上只是普通的 Markdown 文件,没有数据库、专有格式或复杂的目录结构限制。你可以随时把文件移动到别处,用其他应用继续编辑。

特性
- 移动端响应式 Web 界面
- 支持原始模式与所见即所得(WYSIWYG)模式的 Markdown 编辑器
- 高级搜索功能
- 笔记标签
- 支持 Wikilink,轻松链接到其他笔记
- 浅色/深色主题
- 多种身份验证选项:无验证、只读、用户名/密码、双因素认证
- RESTful API

自托管方式
如果你想自己部署 flatnotes,最推荐的方式就是使用 Docker。(关于 Docker 容器化部署的更多实践,可以参考 运维/DevOps/SRE板块)。
下面是一个典型的 Docker 运行命令:
docker run -d \
-e "PUID=1000" \
-e "PGID=1000" \
-e "FLATNOTES_AUTH_TYPE=password" \
-e "FLATNOTES_USERNAME=user" \
-e "FLATNOTES_PASSWORD=changeMe!" \
-e "FLATNOTES_SECRET_KEY=aLongRandomSeriesOfCharacters" \
-v "$(pwd)/data:/data" \
-p "8080:8080" \
dullage/flatnotes:latest
运行参数说明:
PUID 和 PGID:设置容器内部的用户与组 ID,可按需修改
FLATNOTES_AUTH_TYPE:指定身份验证方式,此处为密码验证
FLATNOTES_USERNAME 和 FLATNOTES_PASSWORD:登录用户名和密码,务必改成安全的组合
FLATNOTES_SECRET_KEY:用于加密会话数据的密钥,请使用一个足够长的随机字符串
-v "$(pwd)/data:/data":将当前目录下的 data 文件夹映射到容器内的 /data,实现笔记和搜索索引的持久化存储
-p "8080:8080":将容器的 8080 端口映射到宿主机同一端口
你可以根据自己的需求调整以上参数,并事先确保 Docker 环境已安装配置好。启动成功后,在浏览器访问 http://localhost:8080 即可打开 flatnotes 的 Web 界面。
项目地址:https://github.com/dullage/flatnotes
更多开源实战项目,欢迎访问 云栈社区。
|