简介
flatnotes 是一个自托管、无数据库的笔记应用,采用扁平化文件夹结构存储 Markdown 格式的笔记文件。它旨在提供简洁、无干扰的记录体验,把笔记内容放在首位。下面梳理一下它的核心特点。
-
界面清爽简单。

-
没有文件夹、笔记本等层级概念,只有“笔记”;同时提供强大的搜索和标签功能。
-
按键盘快捷键 / 即可在应用任意位置快速发起全文搜索。
-
笔记本质就是普通 Markdown 文件,没有数据库、专有格式或复杂目录结构限制。随时可以迁移到其他位置并使用其他应用打开。

特性
- 移动端响应式 Web 界面
- 原始模式和所见即所得(WYSIWYG)两种 Markdown 编辑器
- 高级搜索功能
- 笔记标签功能
- 支持 Wikilink,便于引用其他笔记内容
- 浅色/深色主题
- 多种身份验证选项:无验证、只读、用户名/密码、双重身份验证
- Restful API

自托管方式
如果你更倾向自己部署 flatnotes,推荐使用 Docker。
以下是一个示例的 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
以上命令会以 Docker 方式运行 flatnotes,其中包含以下参数:
PUID 和 PGID:设置容器内部的用户和组 ID,可按需调整。
FLATNOTES_AUTH_TYPE:设置身份验证方式为密码。
FLATNOTES_USERNAME 和 FLATNOTES_PASSWORD:设置登录用户名与密码,请替换为安全值。
FLATNOTES_SECRET_KEY:用于加密会话数据的密钥,建议使用随机且足够长的字符串。
-v "$(pwd)/data:/data":把宿主机当前目录下的 data 映射到容器内 /data,用于持久化笔记文件和搜索索引。
-p "8080:8080":把容器内 8080 端口映射到宿主机 8080 端口,用来访问 Web 界面。
请根据实际需求调整参数,并确保已安装配置好 Docker 环境。运行成功后,访问 http://localhost:8080 即可打开 flatnotes 的 Web 界面。
项目地址: https://github.com/dullage/flatnotes
|