云尾笔记,像一直跟在你身后的私有知识云尾巴:数据留在你自己的设备里,同时保持随时可访问的云端体验。
它基于 Next.js + Prisma + PostgreSQL 构建,提供分类与笔记 CRUD、Markdown 编辑预览、附件上传、全文检索、收藏/置顶和移动端适配等核心能力。
- Next.js 16 + React 19 + TypeScript
- TailwindCSS + shadcn/ui 组件风格
- Framer Motion 轻动画
- Prisma + PostgreSQL
- PostgreSQL Full Text Search (
tsvector+GIN)
- 安装依赖:
pnpm install - 一键生成
.env:pnpm run init:env "你的密码" - 运行初始化:
pnpm run setup - 启动容器:
pnpm docker:up - 打开
http://localhost:3000
pnpm run init:env 会自动:
- 基于
.env.example生成.env - 生成随机
SESSION_SECRET - 生成
APP_PASSWORD_HASH - 如果
.env已存在则直接退出,不会覆盖现有配置
Docker 启动行为:
- 应用容器入口是
pnpm docker:start - 会先等待 PostgreSQL 就绪
- 自动执行
pnpm prisma:migrate:deploy - 然后启动 Next.js 服务并监听
3000端口
- 准备 PostgreSQL,并创建数据库
notes_selfhosted - 安装依赖:
pnpm install - 一键生成
.env:pnpm run init:env "你的密码" - 运行初始化:
pnpm run setup - 执行开发环境迁移:
pnpm prisma:migrate:dev - 启动开发服务:
pnpm dev
- Category:增删改查
- Note:增删改查,归属 Category
- Note 支持
starred/pinned - 笔记列表排序:
pinned DESC, updated_at DESC - 标题 + 内容全文搜索
- Notes 分页查询
- 删除操作二次确认
- 上传附件到
./data/uploads并插入 Markdown - 登录页 + HttpOnly 会话 Cookie
pnpm run init:env "你的密码"pnpm run setuppnpm devpnpm testpnpm lintpnpm buildpnpm docker:uppnpm docker:downpnpm docker:logs
