Docker Compose一键部署Nanote:打造极简自托管笔记方案
- 一、Nanote介绍
- 1.1 Nanote简介
- 1.2 主要特点
- 二、本次实践规划
- 2.1 本地环境规划
- 2.2 本次实践介绍
- 三、本地环境检查
- 3.1 检查Docker服务状态
- 3.2 检查Docker版本
- 3.3 检查docker compose 版本
- 四、拉取Nanote镜像
- 五、部署Nanote服务
- 5.1 创建部署目录
- 5.2 编辑部署文件
- 5.3 创建Nanote容器
- 5.4 查看Nanote容器状态
- 5.5 查看Nanote容器日志
- 六、访问Nanote服务
- 七、Nanote基本使用
- 7.1 新建笔记本
- 7.2 新建笔记
- 7.3 浏览笔记
- 八、总结
一、Nanote介绍
1.1 Nanote简介
Nanote是一款轻量级、自托管的笔记应用程序,采用文件系统进行数据存储,真正实现100%可移植的笔记管理体验。使用 Nuxt 3 和 TypeScript 构建,界面简洁高效,支持 Markdown 编辑、全局搜索、Docker 部署及类型安全的 API,是追求自由与控制力的用户的理想选择。
1.2 主要特点
- 基于笔记本的组织结构:以文件夹作为笔记本,Markdown 文件作为笔记,结构清晰易管理。
- 全局内容搜索功能:支持跨所有笔记的快速检索,并针对操作系统进行了性能优化。
- 原生 Markdown 支持:无缝处理
.md文件,提供标准 MIME 类型识别和渲染支持。 - 纯本地文件存储:无需数据库,所有数据都直接保存在你的文件系统中,完全掌控数据归属。
- 开箱即用的 Docker 支持:提供完整的容器化部署方案,包含示例
docker-compose.yml文件。 - TypeSafe API 接口:后端 RESTful API 全面类型化并带有输入验证,保障接口安全与稳定。
- 极致性能优化:对文件操作和平台特定搜索进行了深度优化,提升响应速度与用户体验。
- 响应式移动设备支持:界面适配手机和平板,支持随时随地查看和编辑笔记内容。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。
| hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 |
|---|---|---|---|---|
| jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | Nanote |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Nanote轻量级笔记应用程序。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/lib/systemd/system/docker.service;enabled;vendor preset: enabled)Active: active(running)since Wed2025-07-0214:16:57 UTC;21h ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:878(dockerd)Tasks:28Memory:1.2G CPU: 1min50.356s CGroup: /system.slice/docker.service ├─878/usr/bin/dockerd-Hfd://--containerd=/run/containerd/containerd.sock3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -vDocker version27.1.1, build63125853.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose versionDocker Compose version v2.19.1四、拉取Nanote镜像
拉取Nanote容器镜像,当前最新版本为
0.9.3。
dockerpull omarmir/nanote:0.9.3五、部署Nanote服务
5.1 创建部署目录
- 创建部署目录
mkdir-p/data/nanote&&cd/data/nanote5.2 编辑部署文件
docker-cli方式部署,可采纳开以下命令:
dockerrun-d\--restartunless-stopped\--namenanote\-p3000:3000\-v/data/nanote/notes:/notes\-eNOTES_PATH=/notes\-eSECRET_KEY=123456\omarmir/nanote:0.9.3在部署目录下,创建docker-compose.yaml文件,如下所示:
vimdocker-compose.yamlversion:'3.9'services:nanote:image:'omarmir/nanote:0.9.3'environment:-SECRET_KEY=123456-NOTES_PATH=/notesvolumes:-'/data/nanote/notes:/notes'ports:-'3000:3000'container_name:nanoterestart:always5.3 创建Nanote容器
执行以下命令,创建Nanote容器。
dockercompose up-d5.4 查看Nanote容器状态
检查Nanote容器运行状态,确保Nanote容器正常启动。
root@jeven01:/data/nanote# docker compose psWARN[0000]/data/nanote/docker-compose.yaml: the attribute`version`is obsolete, it will be ignored, please remove it to avoid potential confusion NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS nanote omarmir/nanote:0.9.3"docker-entrypoint.s…"nanote36seconds ago Up36seconds0.0.0.0:3000->3000/tcp,[::]:3000->3000/tcp5.5 查看Nanote容器日志
检查Nanote容器运行日志,确保Nanote服务正常运行。
dockercompose logs六、访问Nanote服务
浏览器地址:
http://<个人的服务器IP>:3000,访问Nanote的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。
第一次进入Nanote初始页,我们使用设置的默认密钥123456进行登录。
七、Nanote基本使用
7.1 新建笔记本
在右上角填写笔记本名称后,确认新建笔记本。
7.2 新建笔记
在点击笔记本名称后,选择“Add”选项,填写笔记标题并完成新建操作。
编辑笔记内容,如下所示:
7.3 浏览笔记
笔记编辑完毕后,可双击笔记名称打开在线浏览,效果如下所示:
八、总结
通过 Docker 部署 Nanote 轻量级笔记应用,整个过程简洁高效,极大地简化了环境配置和部署流程。借助容器化技术,用户可以快速搭建一个自托管、基于文件系统的笔记管理平台,实现数据的完全掌控与高可移植性。无论是本地开发还是云端部署,Nanote 结合 Docker 都是一个值得推荐的知识管理解决方案。