惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
L
LangChain Blog
F
Fortinet All Blogs
C
Check Point Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
J
Java Code Geeks
月光博客
月光博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
宝玉的分享
宝玉的分享
Jina AI
Jina AI

eallion's Blog

春假清明自驾游 Ubuntu 25.10 安装和配置 秋假 彩礼 2025 博客变化 预制菜 联邦礼仪之一 重拾写博客的乐趣 少儿 TED - 时间管理大师 n8n 之同步博客到 Mastodon n8n 之备份 Mastodon 嘟文 如何备份 Mastodon Docker 部署 Mastodon NAS 折腾记 Windows 11 安装软件 博客排版 - 挤压中文标点符号 Hugo 博客集成 Mastodon 独立博客自省问卷 15 题 Chrome 插件更新:网址净化器 在 Hugo 中使用 Shiki 炒菜万能公式 uBlacklist 订阅合集 读《中文互联网正在加速崩塌》 CSS 和 JS 实现博客热力图 受灾小记 那,他吃什么?! Mastodon 同步到 Memos Hugo 外部链接跳转提示页面 联邦宇宙及 Mastodon 简介 2024 博客变化
Memos 简介
Charles Chin · 2022-11-06 · via eallion's Blog

# 前言

DEMO: https://memos.eallion.com

我从接触独立博客开始,就一直在博客的子栏目中部署了一个类似 嘀咕 的微博客。
最初的作用是备份 QQ 空间、Twitter 和微博等。
最早用到的微博客程序是 PageCookery。甚至有点怀念……

现在在独立博客圈少部博主中流行的这种“B 言 B 语”,最早来源于少数派上的一篇文章—— 《保卫表达:用后端 BaaS 快速搭建专属无点赞评论版微博——b 言 b 语》,“B 言 B 语”也叫“废话胶囊”。

由此也衍生出了:

目前以上版本均可使用,不过可能有些版本的使用成本有点高。

今天要介绍的是另一个能提供类似功能的应用—— Memos
Memos 自己对标的竞品是 Flomo,我们是不是把它用歪了?

# 部署 Memos

前置条件:

  1. 一台 VPS 服务器或本地电脑(或 Docker SaaS 平台)
  2. 一点点 WebStack 技能(Docker、Nginx)

安装docker-compose-plugin插件后,docker compose命令可以去掉中间的"-",Docker Compose V1 版本已经结束生命周期。

暂时不建议把 Memos 部署到网站二级目录,如: https://example.com/memos
而应该部署到一个二级域名,如: https://memos.example.com

  1. 新建 docker-compose.yml

一般在准备用于 Memos 的域名的目录下新建docker-compose.yml文件:

cd /www/wwwroot/memos.example.com
vim docker-compose.yml

输入以下内容:

version: "3.0"
services:
    memos:
        image: neosmemo/memos
        container_name: memos
        volumes:
            - ./memos/:/var/opt/memos
        ports:
            - 5230:5230
        restart: always
  1. 启动 Memos

启动 Memos

等待镜像拉取完成,Memos 就运行在服务器的5230端口了。
此时,打开http://127.0.0.1:5230就能访问 Memos 了。
如果有公网 IP,那就打开IP+端口,如:http://119.29.29.29:5230
用域名反代 IP 见下文第 4 点。
常用的命令有:

docker compose up -d
docker compose down
docker compose pull
docker compose up -d --force-recreate
  1. 升级 Memos

参考: https://memos.eallion.com/m/5454

Memos 官方提供的升级命令

docker-compose down && docker image rm neosmemo/memos:latest && docker-compose up -d

会导致 Memos 在升级期间掉线,因为 down 了,特别是境内服务器网速不好的情况下,掉线时间会随着 pull 时间无限延长。

最新版 Docker 升级 Memos 的命令有改进空间:

docker compose pull && docker compose up -d --force-recreate

但是如果用了镜像加速服务,因为缓存的原因也可能有 pull 不到最新镜像的问题。

  1. Nginx 反代

如果打算对互联网提供 Memos 访问服务,就需要反代 Memos,一般都是用 Nginx,反代5230端口即可。

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;
    # cache
    add_header Cache-Control no-cache;
    expires 12h;
}

一些主机管理面板提供可视化反代设置,那更简单。

  1. 备份数据

在第 1 步中的docker-compose.yml文件中,

    volumes:
      - ./memos/:/var/opt/memos

这段就是数据持久化配置,如果不做数据持久化,Docker 容器重启后,所有 Memos 都会消失。
:”冒号前面的内容是物理宿主机上的目录,例子中对应的目录为:

/www/wwwroot/memos.example.com/memos

需要备份的数据是此目录下的memos_prod.db文件,是一个 SQLite 数据库文件,Memos 的所有设置、用户信息、附件和 Memos 都保存在这个文件中。
官方提供的示例中,数据卷为家目录/home/username下的.memos目录,是一个隐藏目录,注意对比。

# Memos Awesome

# 一点点建议

  1. 发图尽量把图片传到第三方图床,(至少近期版本)别上传到 Memos 资源库。
  2. 附件也一样别传到 Memos 资源库,可以传到第三方网盘,贴上分享链接。
  3. 备份memos_prod.db数据库遵循两地三中心原则,多处备份,且是单向的。
  4. 如果你意识不到数据对你有多珍贵或重要,用 SaaS 服务即可,不用自建。
  5. 没有那么多人来看你的 Memos,自娱自乐即可。