flatnotes
自托管无数据库笔记应用
⭐ 3.1k Vue
✓ 解决什么问题
传统的笔记应用通常依赖数据库和私有格式,导致笔记数据被锁定在特定平台。flatnotes 通过将笔记存储为纯 Markdown 文件,消除了数据库依赖和格式锁定,让用户完全控制自己的笔记数据。
✓ 最适合
适合希望自主托管笔记、避免供应商锁定、偏好纯文本 Markdown 格式、且需要轻量级搜索和标签功能的个人用户或小团队。
✗ 不适合
不适合需要富媒体嵌入(如图片、表格、画布)、复杂笔记层级(文件夹/笔记本)、协作编辑或多人实时同步的企业级场景。
快速上手
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 项目详情
flatnotes 是一款专为自托管设计的笔记 Web 应用,其核心特点是无数据库依赖:所有笔记都存储为纯 Markdown 文件,用户可随时将文件迁移到其他工具,不受格式锁定。应用基于 Vue 构建,后端使用 Python(Whoosh 搜索引擎),前端集成 TOAST UI Markdown 编辑器。
主要功能包括:
- 移动端自适应的 Web 界面
- 原始 Markdown 与所见即所得(WYSIWYG)编辑器模式切换
- 高级全文搜索(支持键盘快捷键 ” / ” 快速调出)
- 笔记标签系统
- 自定义首页布局
- WikiLink 支持(
[[笔记名称]]快速链接) - 亮色/暗色主题切换
- 多种身份验证:无验证、只读模式、用户名/密码、两步验证(2FA)
- 完整的 RESTful API
缓存机制只对搜索索引增量同步,即便在 flatnotes 运行时,你也可以直接在文件系统中增加、编辑或删除 Markdown 文件,搜索索引会自动适应。
部署方式推荐使用 Docker,提供单行命令和 Docker Compose 示例,环境变量可配置用户 ID、组 ID、认证方式、密钥等。项目 GitHub 获得 3,131+ 星标,采用宽松的 MIT 许可证。