Docker Compose一键部署Nanote:打造极简自托管笔记方案

Docker Compose一键部署Nanote:打造极简自托管笔记方案

  • 一、Nanote介绍
    • [1.1 Nanote简介](#1.1 Nanote简介)
    • [1.2 主要特点](#1.2 主要特点)
  • 二、本次实践规划
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、拉取Nanote镜像
  • 五、部署Nanote服务
    • [5.1 创建部署目录](#5.1 创建部署目录)
    • [5.2 编辑部署文件](#5.2 编辑部署文件)
    • [5.3 创建Nanote容器](#5.3 创建Nanote容器)
    • [5.4 查看Nanote容器状态](#5.4 查看Nanote容器状态)
    • [5.5 查看Nanote容器日志](#5.5 查看Nanote容器日志)
  • 六、访问Nanote服务
  • 七、Nanote基本使用
    • [7.1 新建笔记本](#7.1 新建笔记本)
    • [7.2 新建笔记](#7.2 新建笔记)
    • [7.3 浏览笔记](#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正常运行。

bash 复制代码
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 Wed 2025-07-02 14:16:57 UTC; 21h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 878 (dockerd)
      Tasks: 28
     Memory: 1.2G
        CPU: 1min 50.356s
     CGroup: /system.slice/docker.service
             ├─  878 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

bash 复制代码
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取Nanote镜像

拉取Nanote容器镜像,当前最新版本为0.9.3

bash 复制代码
docker pull omarmir/nanote:0.9.3

五、部署Nanote服务

5.1 创建部署目录

  • 创建部署目录
bash 复制代码
mkdir -p /data/nanote  &&  cd /data/nanote 

5.2 编辑部署文件

docker-cli方式部署,可采纳开以下命令:

bash 复制代码
docker run -d \
   --restart unless-stopped \
   --name nanote \
   -p 3000:3000 \
   -v /data/nanote/notes:/notes \
   -e NOTES_PATH=/notes \
   -e SECRET_KEY=123456 \
   omarmir/nanote:0.9.3

在部署目录下,创建docker-compose.yaml文件,如下所示:

bash 复制代码
vim docker-compose.yaml
yaml 复制代码
      
version: '3.9'
services:
    nanote:
        image: 'omarmir/nanote:0.9.3'
        environment:
            - SECRET_KEY=123456
            - NOTES_PATH=/notes
        volumes:
            - '/data/nanote/notes:/notes'
        ports:
            - '3000:3000'
        container_name: nanote
        restart: always

5.3 创建Nanote容器

执行以下命令,创建Nanote容器。

bash 复制代码
docker compose up -d

5.4 查看Nanote容器状态

检查Nanote容器运行状态,确保Nanote容器正常启动。

bash 复制代码
root@jeven01:/data/nanote# docker compose ps
WARN[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..."   nanote    36 seconds ago   Up 36 seconds   0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp

5.5 查看Nanote容器日志

检查Nanote容器运行日志,确保Nanote服务正常运行。

bash 复制代码
docker compose logs

六、访问Nanote服务

浏览器地址: http://<个人的服务器IP>:3000,访问Nanote的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

第一次进入Nanote初始页,我们使用设置的默认密钥123456进行登录。

七、Nanote基本使用

7.1 新建笔记本

在右上角填写笔记本名称后,确认新建笔记本。

7.2 新建笔记

在点击笔记本名称后,选择"Add"选项,填写笔记标题并完成新建操作。

编辑笔记内容,如下所示:

7.3 浏览笔记

笔记编辑完毕后,可双击笔记名称打开在线浏览,效果如下所示:

八、总结

通过 Docker 部署 Nanote 轻量级笔记应用,整个过程简洁高效,极大地简化了环境配置和部署流程。借助容器化技术,用户可以快速搭建一个自托管、基于文件系统的笔记管理平台,实现数据的完全掌控与高可移植性。无论是本地开发还是云端部署,Nanote 结合 Docker 都是一个值得推荐的知识管理解决方案。


相关推荐
动力 continue43 分钟前
docker容器大舞台,创建镜像,构造类,基础速通
docker·容器
Akiyama_Mio-Kon1 小时前
2026 最新:Dify 本地 Docker 部署完整教程(Windows + Git Bash)
windows·git·docker
冬木家居1 小时前
40㎡客厅变形记,小家住出大自由[特殊字符]
android·经验分享·笔记·智能家居·微信公众平台
摇滚侠1 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
推送者4 小时前
用宠物照片制作桌宠:从AI拆帧到九点标定的本地化实现笔记
笔记·宠物·用宠物照片制作桌宠
一条破秋裤4 小时前
16_TIM编码器接口测速
笔记·stm32·学习
tju新生代魔迷4 小时前
Verilog HDL 学习笔记(十)| 第10章 时序和延迟
笔记·学习·fpga开发
野熊佩骑5 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes
血小板要健康6 小时前
链表 阶段算法总结
java·数据结构·笔记·算法·leetcode·链表
浔溺6 小时前
al+大数据每日学习笔记31
大数据·笔记·学习