Memos 安装使用教程

开源免费的自托管笔记服务,你的数据由你掌控

🔥 57K+ Star · 开源免费 · 隐私优先 · Markdown原生 · Docker一键部署

📝 项目介绍

Memos 是一款开源免费的自托管笔记服务,专注于隐私保护和轻量使用体验。它采用 Go + React 构建,以单文件运行,资源占用极低,是 Notion、Flomo 等笔记应用的完美自托管替代方案。

核心理念:你的想法,你的数据,你做主 —— 没有追踪、没有广告、没有订阅费用。

核心优势:隐私优先零追踪、Markdown 原生支持、单文件运行极轻量、Docker 一行命令部署、完整 REST/gRPC API、简洁清爽界面 + 暗色模式!

项目信息详情
GitHub 地址github.com/usememos/memos
Star 数量57,100+
开发语言Go + React
开源协议MIT License
数据库支持SQLite / MySQL / PostgreSQL
官方网站usememos.com
在线演示demo.usememos.com

核心功能

🔒

隐私优先

自托管部署,零遥测零追踪,数据完全存储在你自己的服务器上

📝

Markdown 原生

完整 Markdown 语法支持,纯文本存储,数据永远可迁移

极致轻量

单个 Go 二进制文件运行,内存占用低,秒级启动

🐳

一键部署

Docker 一行命令安装,支持 SQLite/MySQL/PostgreSQL

🔌

开发者友好

完整的 REST 和 gRPC API,轻松集成到现有工作流

🎨

清爽界面

极简设计风格,支持暗色模式,完美适配移动端

💡

对比优势:相比 Notion 的联网要求和付费订阅、Flomo 的数据不可控、语雀的服务不稳定,Memos 数据完全自主掌控,永远免费!

🐳 安装部署

方式一:Docker 一键安装(推荐)

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

安装完成后,打开浏览器访问 http://localhost:5230 即可开始使用!

🎉

就这么简单!一行命令搞定,首次访问时注册管理员账号即可。

方式二:Docker Compose(生产环境推荐)

version: "3.0"
services:
  memos:
    image: neosmemo/memos:stable
    container_name: memos
    volumes:
      - ~/.memos/:/var/opt/memos
    ports:
      - 5230:5230

保存为 docker-compose.yml,然后运行:

docker compose up -d

方式三:直接下载二进制文件

访问 GitHub Releases 页面,下载对应平台的预编译文件,直接运行即可。支持 Linux、macOS、Windows。

方式四:从源码编译

# 克隆仓库
git clone https://github.com/usememos/memos.git
cd memos

# 编译前端
cd web && pnpm install && pnpm build && cd ..

# 编译后端
go build -o memos ./cmd/memos

# 运行
./memos
⚠️

环境要求:Docker 方式无需额外环境。源码编译需要 Go 1.22+、Node.js 20+、pnpm。

🎯 使用教程

初始化设置

1

注册管理员账号

首次访问 http://localhost:5230 时,系统会引导你创建管理员账号。填写用户名和密码即可。

2

登录并开始使用

使用刚创建的账号登录后,即可看到简洁的笔记界面。在输入框中直接输入内容,点击发送即可创建 Memo。

创建笔记(Memo)

1

快速记录

在顶部输入框中直接输入内容,支持完整的 Markdown 语法。按 Ctrl+Enter 或点击发送按钮即可保存。

2

添加标签

使用 #标签名 格式添加标签,方便后续分类和查找。标签会自动识别并归类到侧边栏。

3

上传附件

支持上传图片、文件等附件。点击输入框下方的附件按钮,或直接粘贴/拖拽图片即可。

管理与搜索

🔧 进阶配置

配置外部数据库

默认使用 SQLite,如需 MySQL 或 PostgreSQL:

# 使用 MySQL
docker run -d \
  --name memos \
  -p 5230:5230 \
  -e MEMOS_DRIVER=mysql \
  -e MEMOS_DSN="user:password@tcp(host:3306)/memos" \
  neosmemo/memos:stable

# 使用 PostgreSQL
docker run -d \
  --name memos \
  -p 5230:5230 \
  -e MEMOS_DRIVER=postgres \
  -e MEMOS_DSN="postgresql://user:password@host:5432/memos?sslmode=disable" \
  neosmemo/memos:stable

配置反向代理(Nginx)

server {
    listen 443 ssl;
    server_name memo.yourdomain.com;
    
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    location / {
        proxy_pass http://localhost:5230;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

数据备份

SQLite 模式下,数据存储在 ~/.memos 目录中,定期备份该目录即可:

# 备份数据
cp -r ~/.memos ~/.memos-backup-$(date +%Y%m%d)

# 或使用 Docker volume 备份
docker cp memos:/var/opt/memos ./memos-backup

API 集成

Memos 提供完整的 REST API,可以集成到其他工具中:

# 获取笔记列表
curl -H "Authorization: Bearer YOUR_TOKEN" \
  http://localhost:5230/api/v1/memos

# 创建新笔记
curl -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content": "Hello from API!"}' \
  http://localhost:5230/api/v1/memos
📌

获取 API Token:在 Memos 设置页面 → Access Tokens 中创建 API 令牌。

常见问题

Q1: Memos 完全免费吗?

是的!Memos 采用 MIT 开源协议,完全免费,可自由使用和修改。没有隐藏收费、没有订阅费用。

Q2: 数据安全吗?

Memos 运行在你自己的服务器上,所有数据只存储在你的设备中。没有遥测、没有追踪、没有数据上传。代码完全开源,可随时审计。

Q3: 支持手机访问吗?

支持!Memos 的 Web 界面完美适配移动端,直接用手机浏览器访问即可。也有社区开发的 iOS/Android 原生客户端。

Q4: 和 Notion 相比有什么区别?

Memos 更像是一个轻量快捷的灵感记录工具(类似 Flomo),而非 Notion 那样的全功能工作空间。优势是:数据自主掌控、部署简单、启动极快、完全免费。

Q5: 如何升级版本?

Docker 方式升级非常简单:

# 拉取最新镜像
docker pull neosmemo/memos:stable

# 停止并删除旧容器
docker stop memos && docker rm memos

# 用新镜像重新启动(数据在 volume 中不会丢失)
docker run -d --name memos -p 5230:5230 \
  -v ~/.memos:/var/opt/memos neosmemo/memos:stable

Q6: 支持多用户吗?

支持!管理员可以在设置中开启注册功能,允许其他用户注册。每个用户的笔记是独立的,也可以选择公开分享。

💬 加入交流群

和志同道合的朋友一起交流学习

抖音交流群二维码

抖音扫码加入