Nanote:极简Markdown笔记应用

简介

什么是 Nanote ?

Nanote 是一个轻量级的自托管笔记应用程序,追求简洁和高性能。采用基于文件系统的存储方式,没有数据库,只有文件夹和文件,使用户能够保持其笔记的 100% 可移植性。

主要特点

  • 📂 基于笔记本的组织 - 文件夹作为笔记本,Markdown 文件作为笔记
  • 🔍 全局搜索 - 快速搜索所有笔记的内容(操作系统优化)
  • 📄 Markdown 支持 - 原生 .md 文件处理,具有正确的 MIME 类型
  • 🔒 本地存储 - 无需数据库 - 使用现有文件系统
  • 🐳 Docker 支持 - 完整的容器支持和示例 Compose 文件
  • 🔧 类型安全 API - 完全类型化的 REST 端点,带有验证
  • 🚀 性能 - 优化的文件操作和平台特定搜索
  • 📱 移动友好 - 适合移动设备的布局,用于查看和编辑笔记

应用场景

Nanote 适用于各种需要记录笔记的场景,例如:

  • 个人笔记: 记录个人想法、学习笔记、备忘录等。
  • 会议记录: 快速记录会议要点和行动项。
  • 写作草稿: 编写文章、博客、小说等。
  • 代码片段: 保存常用的代码片段。
  • 任何需要快速、简洁地记录文本信息的场景。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 omarmir ,选择第一个 omarmir/nanote,版本选择 latest。

本文写作时, latest 版本应该是介于 0.3.0 和 0.3.1 之间;

卷

在 docker 文件夹中,创建一个新文件夹 nanote,并在其中建一个子文件夹 notes

文件夹 装载路径 说明
docker/nanote/notes /notes 存放笔记文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3053 3000

环境

可变 值
NOTES_PATH 设置笔记目录为 /notes
SECRET_KEY 设置登录密码为 123456

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 nanote 和 子目录
mkdir -p /volume1/docker/nanote/notes

# 进入 nanote 目录
cd /volume1/docker/nanote

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name nanote \
   -p 3053:3000 \
   -v $(pwd)/notes:/notes \
   -e NOTES_PATH=/notes \
   -e SECRET_KEY=123456 \
   omarmir/nanote:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3.8'

services:
  nanote:
    image: omarmir/nanote:latest
    container_name: nanote
    restart: unless-stopped
    ports:
      - '3053:3000'
    environment:
      - NOTES_PATH=/notes
      - SECRET_KEY=123456
    volumes:
      - ./notes:/notes
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:3000/api/health']
      interval: 30s # Check every 30 seconds
      timeout: 10s # Fail if no response in 10s
      retries: 3 # Mark as unhealthy after 3 failed checks
      start_period: 30s # Wait 10s before starting checks

然后执行下面的命令

bash 复制代码
# 新建文件夹 nanote 和 子目录
mkdir -p /volume1/docker/nanote/notes

# 进入 nanote 目录
cd /volume1/docker/nanote

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3053 就能看到登录界面

输入我们在环境变量中设置的 SECRET_KEY 的值

主界面

新建一个笔记本

点击笔记本,就可以开始添加笔记了

点击笔记,进入编辑状态

出错了?这是什么鬼?

难道是因为笔记采用了中文的原因?删了重来

果然如此,看起来 笔记本 可以用中文名,但是 笔记 不可以

快速添加另一条笔记,笔记功能很简单,采用了块编辑的方式

笔记采用的是文件存储方式

参考文档

omarmir/nanote: Lightweight, self-hosted note-taking application with filesystem-based storage so you maintain 100% portability of your notes.

地址:https://github.com/omarmir/nanote

相关推荐
箓维1 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
二哈赛车手1 小时前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
是枚小菜鸡儿吖1 小时前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
星恒随风2 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
智学AI4 小时前
AI博主写作素材管理方法分享:资料归集、笔记关联与文档归档
人工智能·笔记
螺蛳粉 螺蛳粉4 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
叼烟扛炮4 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain
weixin_448119944 小时前
Datawhale Jev Cookbook 202610 笔记5
笔记
wefg15 小时前
【Docker】镜像相关指令
运维·docker·容器
一木 之林5 小时前
Dify学习笔记 04 · 检索底座:Embedding、Rerank与向量数据库(第46-54集)
笔记·学习·embedding·dify