开源 Memos 部署与升级全指南(Docker / Docker Compose / Nginx 反代 / 备份)

Memos 是一款轻量级、开源的知识管理与碎片笔记系统,支持 Markdown、API、私有部署等。

一、Docker 部署 Memos(推荐)

1. 获取最新镜像

docker pull neosmemo/memos:latest

2. 运行容器

docker run -d \
  --name memos \
  --restart=always \
  -p 5230:5230 \
  -v /root/docker/memos:/var/opt/memos \
  neosmemo/memos:latest

二、Memos 数据卷目录说明

容器映射目录:

/var/opt/memos

本地挂载路径(示例):

/root/docker/memos

此目录存储:

  • memos.sqlite(主数据库)
  • 数据文件
  • 配置文件
  • 用户上传的内容

若你看到 .memos 子目录,则属于旧版本遗留结构,现在统一为 /var/opt/memos


三、Nginx 反向代理配置

适用于:

  • HTTPS(推荐使用 Let’s Encrypt)
  • 域名访问
  • Cloudflare / CDN
  • 内网访问转发

在 Nginx 配置中加入:

location / {
    proxy_pass http://127.0.0.1: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 REMOTE-HOST $remote_addr;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    add_header X-Cache $upstream_cache_status;

    # 禁止缓存
    add_header Cache-Control no-cache;
    expires 12h;
}

如走 HTTPS,请确保:

proxy_set_header X-Forwarded-Proto https;

四、Memos 升级方法(安全、推荐)

Memos 的升级很简单,只需替换容器镜像即可。

1. 停止运行

docker stop memos

2. 删除容器(不删除数据!!)

docker rm memos

:warning: 数据保存在 /root/docker/memos,删除容器不会影响数据。

3. 拉取最新镜像

docker pull neosmemo/memos:latest

4. 重新运行(保持同样的挂载路径)

docker run -d \
  --name memos \
  -p 5230:5230 \
  -v /root/docker/memos:/var/opt/memos \
  neosmemo/memos:latest

完成后 Memos 会自动升级数据库结构(若有需要)。


五、Memos 备份方法

只需备份挂载的数据路径即可。

打包备份:

tar -zcvf memos_$(date +%Y-%m-%d).tar.gz /root/docker/memos

建议定期备份:

  • memos.sqlite(核心数据库)
  • 资源文件(uploads)

若使用 crontab 可自动每日备份。


六、Docker Compose 部署 Memos

更适合长期运行和自动化管理。

1. 新建项目目录

mkdir -p /root/memos && cd /root/memos
mkdir data

2. 创建 docker-compose.yml

version: "3.3"

services:
  memos:
    image: neosmemo/memos:latest
    container_name: memos
    ports:
      - "5230:5230"
    init: true
    volumes:
      - ./data:/var/opt/memos
    restart: unless-stopped

3. 启动 Memos

docker compose up -d

4. 查看运行状态

docker compose ps

5. 更新 Memos(极其方便)

docker compose pull
docker compose up -d

七、Memos 访问说明

浏览器访问:

http://你的服务器IP:5230

或配置反代后使用:

https://你的域名

首次进入会提示创建管理员账号。


八、部署增强建议(可选)

:check_mark: 使用 HTTPS(强烈推荐)

  • 使用 Let’s Encrypt 自动签发证书
  • 安全性更高
  • 避免浏览器混合内容警告

:check_mark: 使用 Cloudflare 做 CDN 加速

适合公网访问量大或跨国访问。

:check_mark: 开启系统自动备份

每天备份数据库,提高容灾能力。

:check_mark: 使用 Docker healthcheck

提高可用性。