实测2.8MB的Rust笔记服务:MinimaMemosa部署教程

简介

什么是 MinimaMemosa ?

MinimaMemosa 是一个基于 Rust 构建的轻量级、自托管笔记/备忘录应用,设计目标是将空闲内存占用控制在 5-10MB,最大不超过 100MB。它采用 Memos 风格的时间线布局,支持富文本编辑、Markdown 渲染、标签管理、日历热力图和全文搜索,让你完全掌控自己的笔记数据。

主要特点

  • 极低资源占用 :后端采用 Rust + Axum + Tokio 构建,实测空闲内存仅 ~2.8MB,加上嵌入式 SQLite 数据库和 Alpine Linux 容器,整体空闲内存不到 5MB
  • Memos 风格时间线:笔记按日期分组,以时间线形式展示,浏览体验流畅自然
  • WYSIWYG 富文本编辑 :基于 Tiptap 编辑器,支持斜杠命令、标题、加粗、斜体、列表、代码块、表格、待办清单等
  • Markdown 渲染 :服务端通过 pulldown-cmark 渲染,确保快速展示
  • 文件附件支持 :拖拽或上传文件,自动插入为 Markdown 链接/图片
  • 可见性控制:每条笔记可设置为公开/登录可见/私密三种可见级别
  • 标签系统 :在笔记中添加 #标签,通过侧边栏按标签筛选
  • 日历热力图:可视化的活动日历,直观显示每天记录了多少笔记
  • 全文搜索:跨所有笔记进行全文检索
  • 暗色模式 :客户端 localStorage 持久化,零服务端开销
  • HTMX 驱动 :无 JavaScript 框架,服务端渲染 HTML 片段,页面交互轻盈
  • 开源免费 :基于 MIT 协议开源,可免费使用和修改

应用场景

  • 个人知识管理:快速记录灵感、日记、读书笔记,配合标签和搜索轻松检索
  • 私有微博客:用时间线形式记录生活点滴,可选择公开分享
  • 团队协作:多用户注册登录,支持评论回复,适合小团队内部知识共享
  • 开发者笔记 :支持 Markdown 和代码块,适合记录技术笔记和代码片段

MinimaMemosa 是一个将资源效率发挥到极致的自托管笔记应用,用不到 5MB 的内存提供了完整的笔记体验。

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 1fc0dae

由于镜像托管在 ghcr.io,群晖 Docker 套件无法直接搜索,需要通过命令行拉取镜像。

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 minimamemosa 和 子目录
mkdir -p /volume1/docker/minimamemosa/data

# 进入 minimamemosa 目录
cd /volume1/docker/minimamemosa

# 一键启动
docker run -d \
  --name=minimamemosa \
  --restart=unless-stopped \
  -p 3723:3000 \
  -v $(pwd)/data:/app/data \
  -e SESSION_SECRET=your-random-secret-here \
  ghcr.io/niteenautade/minimamemosa:latest

# 示例
docker run -d \
  --name=minimamemosa \
  --restart=unless-stopped \
  -p 3723:3000 \
  -v $(pwd)/data:/app/data \
  -e SESSION_SECRET=o3anadnW9o8KGaXZLHsSBzcEAQhpm2DX \
  ghcr.io/niteenautade/minimamemosa:latest

环境变量说明SESSION_SECRET 用于 HMAC 签名会话 Cookie,务必修改为一个随机字符串;PORT 默认为 3000,如果端口冲突可修改;DATABASE_PATH 默认为 /app/data/minimamemosa.db,通常不需要修改。

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3.8'

services:
  minimamemosa:
    image: ghcr.io/niteenautade/minimamemosa:latest
    container_name: minimamemosa
    restart: unless-stopped
    ports:
      - "3723:3000"
    volumes:
      - ./data:/app/data  # 数据库持久化
    environment:
      - SESSION_SECRET=your-random-secret-here  # 会话签名密钥,请改为随机字符串
      - PORT=3000  # HTTP 监听端口(可选,默认 3000)
      - DATABASE_PATH=/app/data/minimamemosa.db  # 数据库路径(可选)

然后通过 SSH 登录到您的群晖,执行下面的命令:

bash 复制代码
# 新建文件夹 minimamemosa 和 子目录
mkdir -p /volume1/docker/minimamemosa/data

# 进入 minimamemosa 目录
cd /volume1/docker/minimamemosa

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中访问 http://<群晖IP>:3723 即可进入登录界面

第一次需要注册一个新账户(第一个注册的用户自动成为管理员)

登录成功后的主界面

在顶部的编辑框中输入笔记内容,支持 Markdown 格式和富文本编辑

点击 Save 保存笔记,它会自动出现在时间线中

👇官方完整的演示动图

注意事项

  1. SESSION_SECRET 必须修改 :默认的 change-me-to-a-random-secret 在生产环境中不安全,请务必修改为随机的字符串
  2. 数据持久化 :确保 ./data 目录挂载正确,否则重启容器后数据会丢失
  3. 端口冲突 :默认使用 3000 端口,如被占用可通过环境变量 PORT 修改
  4. 反向代理 :如果需要公网访问,建议使用 NginxCaddy 配置 HTTPS 反向代理
  5. Demo 站点 :官方提供了体验 Demohttps://minimamemosa.onrender.com),但数据会定期清除,仅供体验

参考文档

niteenautade/minimamemosa: A lightweight, self-hosted memo/notes app built for minimal resource usage

地址:https://github.com/niteenautade/minimamemosa
MinimaMemosa 在线 Demo

地址:https://minimamemosa.onrender.com

相关推荐
张文君1 天前
docker使用代理拉取镜像
运维·docker·容器
陌路201 天前
Docker教程从入门到精通(0基础)
运维·docker·容器
一米阳光86611 天前
软考(中级)软件设计师核心笔记(6)系统开发基础——需求分析、系统设计
笔记·职场发展·需求分析·软考·软件设计师·中级职称
初级炼丹师(爱说实话版)1 天前
Ubuntu24.04 Docker+vLLM+qianwen2.5-coder-32B部署文档
docker·容器·vllm
雨田言炎1 天前
四、关于Qt项目需要知道的
开发语言·笔记·qt
hanlin031 天前
动态规划专练:力扣第121、122题
笔记·算法·leetcode
摇滚侠1 天前
SpringBoot 官网 阅读笔记 启用生产就绪功能 端点
spring boot·笔记·后端
AI云海1 天前
完整机器学习工业项目流水线笔记
人工智能·笔记·机器学习
2601_965799681 天前
2026 在线笔试平台深度测评与选型指南:从功能、稳定性、AI能力、防作弊全面分析
人工智能·笔记·功能测试
xqqxqxxq1 天前
SQL 连接查询技术笔记
数据库·笔记·sql