发布时间:2026/7/5 20:34:43
Docker Compose一键部署Nanote:打造极简自托管笔记方案 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。hostnameIP地址操作系统版本Docker版本部署项目jeven01192.168.3.88Ubuntu 22.04.1 LTS27.1.1Nanote2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署Nanote轻量级笔记应用程序。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven01:~# 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版本rootjeven01:~# docker -vDocker version27.1.1, build63125853.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven01:~# 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/nanotecd/data/nanote5.2 编辑部署文件docker-cli方式部署可采纳开以下命令dockerrun-d\--restartunless-stopped\--namenanote\-p3000:3000\-v/data/nanote/notes:/notes\-eNOTES_PATH/notes\-eSECRET_KEY123456\omarmir/nanote:0.9.3在部署目录下创建docker-compose.yaml文件如下所示vimdocker-compose.yamlversion:3.9services:nanote:image:omarmir/nanote:0.9.3environment:-SECRET_KEY123456-NOTES_PATH/notesvolumes:-/data/nanote/notes:/notesports:-3000:3000container_name:nanoterestart:always5.3 创建Nanote容器执行以下命令创建Nanote容器。dockercompose up-d5.4 查看Nanote容器状态检查Nanote容器运行状态确保Nanote容器正常启动。rootjeven01:/data/nanote# docker compose psWARN[0000]/data/nanote/docker-compose.yaml: the attributeversionis obsolete, it will be ignored, please remove it to avoid potential confusion NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS nanote omarmir/nanote:0.9.3docker-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 都是一个值得推荐的知识管理解决方案。

相关新闻

2026/7/5 20:34:43

题解:AcWing 839 模拟堆

【题目来源】 AcWing:839 模拟堆 - AcWing题库 【题目描述】 维护一个集合,初始时集合为空,支持如下几种操作: (1)I x,插入一个数x; (2)PM,输出当前集合中的最小值; (3)DM,删除当前集合中的最小值(数据保证此时的最小值唯一); (4)D k,删除第k个插入…

2026/7/5 20:34:43

题解:AcWing 240 食物链

【题目来源】 AcWing:240 食物链 - AcWing题库 【题目描述】 动物王国中有三类动物 A A A, B B B, C C

2026/7/5 19:34:43

CANN/ops-sparse稀疏算子文档工程师

【免费下载链接】ops-sparse 本项目是CANN提供的高性能稀疏矩阵计算的算子库,专注于优化稀疏矩阵的计算效率。 项目地址: https://gitcode.com/cann/ops-sparse name: writer description: Sparse 算子文档工程师,负责资料准备、问卷整理、文档编…

2026/7/5 21:34:45

Spring Boot与Vue3前后端RSA加密登录实战:原理、实现与安全优化

1. 项目概述:为什么需要前后端分离的RSA加密?在前后端分离的架构里,数据安全是个绕不开的话题。特别是登录、支付、敏感信息传输这些环节,明文传输密码就像用明信片寄银行卡密码,风险不言而喻。虽然HTTPS已经普及&…

2026/7/5 21:34:45

Kimi K2.6 vs GLM-5.1 实测横评:15个真实工作流能力切片

1. 项目概述:这是一场不带滤镜的大模型能力横评最近两周,我把自己关在书房里,把 Kimi K2.6 和 GLM-5.1 这两个当前中文大模型圈里讨论度最高的新版本,从早到晚轮番“拷问”了三轮。不是跑个 benchmark 就交差,而是用真…

2026/7/5 21:34:45

GPT-4与Zephyr-7b-beta模型选型实战指南

1. 项目概述:一场务实的模型选型实战推演 最近在给一个本地知识库问答系统做技术选型,团队里吵得挺热闹——一边是GPT-4 API调用流畅通顺、效果惊艳,另一边是Zephyr-7b-beta跑在24GB显存的RTX 4090上响应飞快、完全离线。没人否认GPT-4的能力…

2026/7/5 21:34:45

OpenClaw机械臂控制框架:CLI与远程控制新特性解析

1. 项目背景与核心价值OpenClaw作为一款开源的机械臂控制框架,近期迎来了与AiPy人工智能平台的深度整合。这次更新最引人注目的两点是全新设计的CLI(命令行界面)接口和远程控制功能的加入。对于从事机器人开发、自动化测试或智能硬件研究的工…

2026/7/5 21:34:45

Java单元测试进阶:异常测试核心原理与JUnit 5最佳实践

1. 项目概述:为什么异常测试是单元测试的“隐秘角落”?在Java开发的世界里,单元测试是保障代码质量的基石,这一点大家早已达成共识。我们花大量时间编写测试用例,覆盖各种正常流程,确保方法在“阳光大道”上…

2026/7/5 20:34:43

STM32与LP5812实现高效RGB LED灯光控制方案

1. 项目背景与核心价值在智能硬件和交互式设备设计中,灯光效果已经成为提升用户体验的关键要素之一。从游戏外设的沉浸式光效到智能家居的环境氛围调节,动态可编程的RGB LED系统正在重新定义人机交互的视觉语言。LP5812作为一款专为RGB LED设计的驱动芯片…

2026/7/5 0:34:33

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求,所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本(如所谓“GPT-5”)是由境外机构研发的大语言模型&#…

2026/7/5 0:34:33

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

2026/7/5 0:34:33

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求,所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本(如所谓“GPT-5”)是由境外机构研发的大语言模型&#…

2026/7/5 0:34:33

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

2026/7/5 2:48:20

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…