玩独立博客这8年,我折腾过的建站工具、效率软件没有一百也有八十,要说换得最勤的,还得是笔记软件。从最早的印象笔记、有道云笔记,到后来火遍全网的Notion、Obsidian、Joplin、思源笔记、TriliumNext,市面上叫得上号的我几乎都试了个遍。结果呢?要么广告多到弹窗挡内容,要么功能堆得臃肿不堪,打开要等半分钟加载;要么同步抽风,上次急着找服务器的ssh配置,结果本地客户端和云端差了3个版本,差点把线上服务搞崩;还有的私有部署流程复杂到要装五六个依赖,2C4G的服务器跑起来内存占一半,我这种小站站长真的供不起。
想自己做个顺手笔记的念想存了快5年,之前总觉得开发工程量大没敢动手,今年借着AI辅助写代码的东风,抽了两周业余时间真把它落地了——就是今天要给大家安利的ZNote。
我做这款笔记,就是为了治自己的“笔记焦虑”
很多朋友问我,现成的笔记那么多,何必费力气自己造轮子?其实真不是我闲的,是市面上的笔记总踩不准我这个普通用户的需求点。
先说纯客户端的本地笔记,很多确实做得精美,但架不住几个硬伤:同步要自己折腾WebDAV、S3甚至Git,稍有不慎就出现文件冲突,我之前就碰到过两次笔记内容被旧版本覆盖的情况;出门在外没装客户端就抓瞎,连个网页版都没有,上次在酒店临时要查个备案信息,临时下客户端配同步折腾了半小时;排序特别死板,想把常用的“运维命令”分类放到最顶部,要么改文件创建时间要么装第三方插件,灵活度极低;版本历史更是聊胜于无,要么干脆没有,要么依赖同步盘自带的历史记录,找个旧版本要翻半天。
再看那些主打“全功能”的笔记,脑图、待办、双链、知识库、数据库什么都往里塞,我就想安安静静记个iptables规则,上来给我弹3个新功能引导,学习成本比我学个新运维工具还高。至于公有云笔记就更不用说了,之前我存的几个站点后台密码,被系统判定敏感内容直接锁了,找客服磨了半天才解开,从那之后我就再也不敢把核心数据放公有云上。
所以ZNote从一开始定位就特别明确:不做全能选手,就做纯粹的纯笔记应用,多余的功能一概不加,把记笔记这个最核心的体验做顺就行。
3分钟就能部署完,这几个功能我天天用着真的爽
很多朋友一听私有部署就觉得麻烦,ZNote我特意做了全容器化的打包,全程只要敲两行命令就能搞定,新手也能跟着操作下来。这里我必须把自己刚测试时踩的几个坑提前给大家标出来,省得大家走弯路:
首先找个你想存数据的目录,新建compose.yaml文件,写入下面的配置:
services:
znote:
container_name: znote
image: helloz/znote:latest
ports:
- "3888:3888"
volumes:
- "./data:/app/data"
restart: always
environment:
TZ: Asia/Shanghai
这里三个注意点:第一,要是你服务器上3888端口已经被别的服务占了,直接把ports里前面的数字改成你要用的端口就行,比如改成"3999:3888"完全不影响使用;第二,启动前一定记得在同目录创建data文件夹,给上读写权限,我第一次部署的时候急着测功能,忘了给权限,结果点创建管理员账号转了半分钟圈,查日志才发现是目录写不进去,白等半天;第三,时区变量千万记得设成Asia/Shanghai,不然版本历史的时间会跟北京时间差8小时,找记录的时候能给你整懵。
配置写完执行docker compose up -d,等10秒左右就能通过http://你的服务器IP:端口访问了,第一次打开会自动引导创建管理员账号,全程没有多余套路,连配置数据库都不用,程序内置了轻量的libSQL,完全不用额外装服务。
进后台的第一感觉就是干净:没有开屏广告,没有会员弹窗,左侧是笔记分类,中间是笔记列表,右侧是编辑区,坐下来就能写。编辑器是原生的Markdown所见即所得,不用切来切去编辑/预览模式,打#自动转标题,贴代码自动识别语言块,图片直接拖进去就存在自己服务器上,不用单独配置图床。
我自己用得最爽的是拖拽排序功能:不管是笔记分类还是单篇笔记,想拖到哪就拖到哪,我现在把常用的“运维命令”“账号备忘”“博客素材”三个分类全拖到最上面,打开就能点,比之前用的笔记按创建时间硬排序灵活10倍。还有自动版本历史,最近50次修改都会自动留存,上次我手滑删了一段nginx配置还点了保存,本来以为要重写,结果翻历史版本10秒就恢复了,实实在在救了大命。
资源占用是真的轻,我特意看了下,容器跑稳定了内存才占50M左右,1核1G的入门云服务器跑起来毫无压力,就算服务器上已经跑了七八个站点也完全不挤。最多支持5个独立账号,我给我媳妇开了个号记烘焙配方,给一起维护站点的小兄弟开了个号记协作文档,几个人各用各的空间互不干扰,比每个人单独搭一套省事多了。全局搜索也够快,我现在存了快800篇笔记,输个关键词秒出结果,根本不用等转圈圈,还自带了RESTful API,我自己写了个小脚本,每天把服务器巡检报告自动推送到笔记里归档,连登录都不用。
提前说几句大实话,避免大家期待错配
毕竟是我抽业余时间做的工具,现在ZNote还在Beta阶段,肯定有不完美的地方,我也不跟大家吹它是宇宙第一笔记,先把丑话说在前面:
首先,如果你需要脑图、待办、双链、在线协作这些复杂功能,真的别用它,这些功能我暂时不会加——做ZNote的初衷就是“纯粹记笔记”,那些功能有大把更成熟的工具可选,我不想把它搞成个四不像。其次,现在暂时只有WEB版,手机、PC客户端、浏览器扩展还在排期,不过我自己手机上把网页加到桌面书签,用起来跟APP差别不大,打开速度还比很多带启动广告的APP快。最后也提醒大家,就算是私有部署,也要记得定期备份挂载出来的data目录,毕竟数据无价,多备份总没错。后续我会慢慢把笔记导出、AI辅助写作这些实用功能加上,但前提是核心的笔记体验足够稳,绝对不会为了堆功能把软件搞臃肿。
其实ZNote做出来到现在,我自己已经日常用了快1个月,真的解决了我之前所有的笔记痛点:不用折腾同步,不用看广告,不用等软件漫长的启动,打开浏览器就能写,数据全在自己手里,特别踏实。它可能不是功能最强的笔记,但绝对是最对我自己胃口的。
现在项目已经完全开源在GitHub上(地址:https://github.com/helloxz/znote),大家要是部署遇到问题,直接去提issue就行,毕竟是我自己天天要用的工具,bug肯定会第一时间修。如果你也跟我一样,找了很久一款轻量、纯粹、数据自主、开箱即用的私有笔记,不妨花3分钟部署试试,好用你就留着用,不好用删容器也就是一条命令的事,没啥损失。





