Memos:一条 Docker 命令,构建你的私有知识库

简介: Memos 是一款开源、轻量级的自托管笔记平台,仅需一条 Docker 命令即可部署。数据完全掌控在自己手中,支持 Markdown、标签管理、全文搜索与多数据库。Go 语言后端性能卓越,内存占用低,助力你快速搭建私有知识库。

Memos:一条 Docker 命令,构建你的私有知识库

你的笔记数据,真的属于你吗?

当你在某云笔记上写下第三千条日记,当你把项目文档托付给某企业服务平台,你有没有想过——这些数据真正的所有权在谁手里?

Memos 是一个开源的自托管笔记服务,GitHub 上已经获得 46,000+ star,Docker 镜像下载量超过 710 万次。这不是又一个"我也能做笔记"的轮子,而是从架构层面重新定义了笔记服务应该有的样子。

项目地址

在线演示


Memos 技术细节

技术架构:Go + React 的高性能组合

后端:Go 语言的性能优势

Memos 使用 Go 和 React 构建,提供闪电般的性能。Go 语言在后端的选择并非偶然:

  • 内存占用:Docker 镜像小于 40MB,内存使用约 30MB
  • 并发处理:Go 的 goroutine 机制让服务器可以轻松处理数千个并发请求
  • 编译部署:单一二进制文件,无需运行时环境

Go 的 net/http 标准库提供了高效的 HTTP 服务能力,配合 gRPC 支持,Memos 可以同时服务 Web 界面和 API 调用。相比 Node.js 或 Python 框架,Go 编译后的二进制文件启动时间在毫秒级,内存占用仅为它们的 1/5 到 1/10。

前端:React 的组件化设计

React 前端采用函数式组件和 Hooks,配合 Markdown 编辑器实现流畅的写作体验。代码层面,React 的虚拟 DOM diff 算法确保了只有实际变化的部分才会重新渲染:

const MemoEditor = () => {
   
  const [content, setContent] = useState('');

  const handleSave = async () => {
   
    await fetch('/api/v1/memos', {
   
      method: 'POST',
      body: JSON.stringify({
    content })
    });
  };

  return (
    <div>
      <textarea 
        value={
   content}
        onChange={
   (e) => setContent(e.target.value)}
      />
      <button onClick={
   handleSave}>Save</button>
    </div>
  );
};

数据存储:灵活的数据库支持

Memos 支持三种数据库后端:

  • SQLite: 默认选项,单文件数据库,适合个人使用
  • MySQL: 适合团队协作,数据量大于 10GB
  • PostgreSQL: 企业级特性,支持全文搜索和 JSON 查询

SQLite 的优势在于零配置。当你运行 docker run 命令时,Memos 会自动在挂载的目录创建 memos_prod.db 文件,所有数据包括用户、笔记、附件元信息都存储在这个文件里。迁移时只需复制这个文件,无需导入导出。


安装与使用

五分钟部署指南

Docker 部署(推荐)

docker run -d \
  --name memos \
  -p 5230:5230 \
  -v ~/.memos/:/var/opt/memos \
  neosmemo/memos:stable

这条命令做了三件事:

  1. 拉取 neosmemo/memos:stable 镜像
  2. 映射 5230 端口到主机
  3. 挂载本地目录 ~/.memos/ 用于数据持久化

运行后,打开浏览器访问 http://localhost:5230,首次访问会引导创建管理员账号。整个过程不超过一分钟。


基础文本笔记

在右侧输入框输入:

# 我的第一条 Memo
今天成功部署了 Memos,这是一个轻量级的自托管笔记服务。

## 为什么选择 Memos?
- 完全开源
- 数据自己掌控
- 部署只需一条命令

#新手入门 #部署成功
  • 即时保存,无需等待
  • Markdown 实时渲染
  • 标签自动识别(以 # 开头)


Markdown 格式支持

创建一条包含多种格式的笔记:

支持:

  • 代码高亮(支持 100+ 语言)
  • 任务列表可交互打勾
  • 表格自动格式化
  • 链接自动识别

标签与过滤

创建多条带标签的笔记
笔记 1:

今天学习了 Go 语言的并发模型,goroutine 真的很强大。

#编程 #golang #学习笔记

笔记 2:

周末计划:
- 阅读《设计模式》第 5 章
- 健身房
- 整理书房

#个人 #周末计划

笔记 3:

周末计划:
- 阅读《设计模式》第 5 章
- 健身房
- 整理书房

#个人 #周末计划
  1. 点击左侧标签云中的 #编程
  2. 只显示包含该标签的笔记
  3. 点击多个标签测试组合过滤
  4. 使用搜索框搜索"项目"

项目支持:

  • 标签自动聚合
  • 点击标签即时过滤
  • 搜索功能支持全文检索

Memo支持的功能还有很多,包括但不限于:

  1. 基础笔记创建和快捷键
  2. Markdown 全功能支持
  3. 标签、过滤、快捷方式
  4. 可见性控制、公开笔记、附件
  5. 数据掌控:导出、备份、迁移
  6. API 集成:命令行创建笔记,展示自动化能力
  7. 高级功能:搜索语法、Daily Review、移动端

Docker Compose(生产环境)

生产环境推荐使用 Docker Compose,配合 MySQL:

version: '3'
services:
  memos:
    image: neosmemo/memos:stable
    container_name: memos
    ports:
      - "5230:5230"
    environment:
      MEMOS_DRIVER: mysql
      MEMOS_DSN: "root:password@tcp(mysql:3306)/memos"
    volumes:
      - ./data:/var/opt/memos
    depends_on:
      - mysql

  mysql:
    image: mysql:8
    container_name: memos-mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: memos
    volumes:
      - ./mysql:/var/lib/mysql

执行 docker-compose up -d 即可启动。MySQL 会自动创建数据库,Memos 启动时执行 schema 迁移。


结语

Memos 的优势在于:

  • 部署简单:一条命令即可运行,无需配置 Node.js 环境
  • 性能领先:Go 后端的内存占用仅为 Node.js 方案的 20%
  • 社区活跃:更新频率高,问题响应快

Memos 团队正在开发的功能包括:

  1. 端到端加密
  2. 协作编辑(实时多人协作)
  3. 插件系统(用户可自定义扩展)
  4. 桌面端应用(Electron 封装)

项目在第一年达到 1000 stars,第二年增长到 20,000。这种增长速度表明开源社区对自托管笔记服务的需求正在快速增长。当越来越多的人意识到数据主权的重要性,Memos 这样的项目会成为主流选择。

相关链接:

💬 你用过哪款 AI 编程工具?欢迎评论区分享你的体验!
⭐ 觉得有用?点个「在看」让更多开发者看到这篇对比!

相关文章
|
JavaScript 测试技术 Linux
【Docker项目实战】使用Docker部署CodeX Docs文档工具
【4月更文挑战第8天】使用Docker部署CodeX Docs文档工具
951 2
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署DailyTxT加密日记网络应用程序
【4月更文挑战第6天】使用Docker部署DailyTxT加密日记网络应用程序
435 2
|
3月前
|
人工智能 数据可视化 API
3分钟上手OpenClaw多Agent!阿里云/本地多Agent模式部署+MemOS持久记忆+免费大模型API配置+避坑指南
2026年,绝大多数OpenClaw(小龙虾AI)玩家还停留在单智能体、临时上下文、频繁失忆、单窗口拥堵的阶段,明明取名贾维斯,用起来却像个临时工。真正的突破,来自MemOS持久记忆系统与多Agent分工模式的结合——让一只小龙虾,变成一支分工明确、长期记忆、并行处理、永不混乱的AI团队。
1210 9
|
算法 程序员 应用服务中间件
推荐一款基于docker部署的个人免费笔记工具wiznote
推荐一款基于docker部署的个人免费笔记工具wiznote
推荐一款基于docker部署的个人免费笔记工具wiznote
|
4月前
|
人工智能 自然语言处理 安全
2026年云上及本地部署OpenClaw/Clawdbot使用指南:+Phone Agent 手机控制AI,彻底解放双手
2026年,AI智能体的跨设备协同成为核心趋势。OpenClaw(原Clawdbot)作为高性能AI代理工具,不仅能接管电脑系统级操作,通过对接Phone Agent框架,还能实现手机端的自然语言控制——飞书发消息即可让AI自动完成微信聊天、淘宝购物、小红书收藏等手机操作,彻底解放双手。
3087 1
|
3月前
|
人工智能 Linux API
智能养“AI大虾”指南:OpenClaw多端部署+Memory配置+阿里云百炼接入及常见问题解答
2026年的OpenClaw(俗称“龙虾”,曾用名Clawdbot)早已不是单纯的AI任务执行工具,其全新升级的Memory记忆系统打破了大模型“对话即忘”的结构性限制,让AI真正实现跨会话的持久化记忆,成为真正贴合用户需求的智能助手。而想要充分发挥OpenClaw的记忆能力与任务执行能力,高效的部署配置、稳定的模型API对接是核心前提。本文将从**阿里云云端部署**、**MacOS/Linux/Windows11本地部署**、**Memory记忆系统深度配置**、**阿里云百炼Coding Plan API对接**四大核心板块出发,搭配可直接执行的代码命令和实操步骤,同时解答部署配置中的高频
1540 1
|
5月前
|
存储 人工智能 搜索推荐
AI Agent 记忆系统:从短期到长期的技术架构与实践
当智能体需要处理越来越复杂的任务和更长的对话历史,核心挑战是什么,又该如何突破。
1718 51
|
3月前
|
存储 人工智能 JavaScript
OpenClaw阿里云+本地部署省Token秘籍;+Memos插件 Token 消耗直降77%
使用OpenClaw时,Token消耗过高是用户最核心的痛点——每次对话都需携带完整历史记录,重复信息占用大量Token,长期使用成本居高不下。而Memos作为一款轻量记忆优化插件,通过“智能提取关键信息+按需召回+避免重复传输”三大机制,能将Token消耗降低77%以上,完美解决OpenClaw“烧钱”问题。
2019 3
|
存储 Kubernetes Docker
使用 Docker 搭建碎片化知识卡片-Memos
Memos 是一个功能全面、易于使用的开源知识库和社交平台,适合个人和企业使用。它支持标签、过滤、搜索和多账户管理,提供多种隐私设置和后端存储选择,支持单点登录和 Docker 部署,注重数据的安全性和私密性。
1358 12
使用 Docker 搭建碎片化知识卡片-Memos