L

Leo's NoteBook

持续学习之路

  • 首页
  • 列表
  • 关于
Home Memos 碎片笔记工具
文章

Memos 碎片笔记工具

Posted 2023-12-26 Updated 2023-12- 27
By Le0zh0u
18~24 min read

很久开始就自建了Memos,没有很好地结合习惯使用起来。

最近打算重新拾起,先写一篇文章怀念一下配置流程

胜利的样子✌🏻

memos 是一个开源的自托管 笔记系统。支持 Markdown 语法、公开分享、iframe 嵌入、标签管理、日历视图、简单的数据迁移与备份功能。

对标产品:Flomo

docker配置

Docker Run

docker run -d \
  --init \
  --name memos \
  --publish 5230:5230 \
  --volume ~/.memos/:/var/opt/memos \
  ghcr.io/usememos/memos:latest

启动后数据存储在`~/.memos`下,默认使用SQLite存储。

默认端口为5230.

升级

停止容器并移除

docker stop memos && docker rm memos

备份数据 - 可选项

cp -r ~/.memos/memos_prod.db ~/.memos/memos_prod.db.bak

拉取新镜像

docker pull ghcr.io/usememos/memos:latest

重新启动容器

见 Docker Run

代理配置

memos.conf

upstream memos {
  server 127.0.0.1:5230;
}
server {
  listen 80;
  listen [::]:80;
  listen       443 ssl;
  ssl_certificate      /etc/nginx/cert_file/fullchain.pem;
  ssl_certificate_key  /etc/nginx/cert_file/key.pem;
  server_name {xxxxxxxxxx.com};
  client_max_body_size 1024m;
  location / {
    proxy_pass http://memos;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

普通使用的话,Http即可,因为我使用了客户端Moe Memos,苹果APP中发送请求需要加密,所以配置的Https。

参考

Github: https://github.com/usememos/memos

Docs: https://www.usememos.com/docs/install/self-hosting

客户端

我使用了Moe Memos

胜利的样子✌🏻

下载后直接使用

我直接使用账号和密码登录。

除此之外,还支持通过`Access Token`和`OpenID`,我均未使用。

可以查看文档 Access Tokens 。

使用Telegram Bot

有时会在TG中看到不错的内容,通过TG的Bot直接保存内容是一个快捷的方式。

创建TG Bot

在TG中搜索 `BotFater` ,然后输入`/newbot`

依次输入bot的名称、bot的username(需要用`_bot`结尾)

完成后会告知创建完成,核心关注:

  • t.me/xxxxx 格式的bot链接

  • `4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc` 格式的bot的token

关联Memos和TG Bot

进入`Settings - System`页面,找到`Telegram Bot Token`的输入框,并输入提取的 bot token,点击保存。

理论上,Memos和TG Bot关联已经产生,但是会有一个问题,国内的服务器无法正常访问到TG。

配置 CloudFlare Worker 代理

我使用了CloudFlare的Worker作为中转服务器。

需要在CloudFlare中创建一个Worker应用,并在编辑器中输入如下代码

const tg_host = "api.telegram.org";
addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
    var u = new URL(request.url);
    u.host = tg_host;
    var req = new Request(u, {method: request.method,headers: request.headers,body: request.body});
    const result = await fetch(req);
    return result;
}

上面的代码对所有请求都会转发,可以通过添加白名单的方式处理非自己的bot,细节见参考

给Worker配置域名

给部署的 Worker 设置自定义域名,防止被国内网络屏蔽。

在Memos的设置中输入Bot token

需要调整`Telegram Bot Token`中的内容,修改成`PROXY_URL/bot<token>`。

https://bot.xxxxxxx.com/bot4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc

绑定与Bot绑定Memos的用户

在创建的bot的聊天页面,输入`/start`,核心关注:

  • userid xxxxxxxx

将这个userid添加到 `Settings - Preferences - Telegram UserID`中,点击保存

PS:输入`/start`长时间无反应,请确认代理是否正常。

测试

在bot聊天页面,发送测试内容,刷新Memos网页,观察是否添加成功。

参考

Memos - Integration - Telegram Bot

telegram bot api proxy

A reverse proxy for Telegram Bot API on Aliyun Function Compute / Cloudflare Workers

Memos x Telegram Bot

接入CloudFlare R2

如果图片等附件保存在本地,会有后续的迁移、流量的成本。以现在个人使用的情况,打算把对象都存储到免费的R2上。

创建存储空间 Bucket

给Bucket创建访问的凭证

需要在R2页面的右上角进入

允许Bucket外部访问权限

在Butcket的设置中,找到`R2.dev.subdomain`,点击`Allow Access`,并确认

配置域名

除了使用R2的子域名外,还可以使用自定义域名

在Memos中配置

字段均可映射,需要注意的是:

  • Endpoint需要添加`https://`的前缀

  • Region需要填入`auto`

  • `Storage Path` 填入存入R2的文件前缀

  • `URL prefix` 填入外部访问的域名

配置完成后,需要选择为`当前对象存储`。

测试

通过TG bot发送图片进行测试

在Resource的页面中,查看图片是否正常

参考

Memos - Advanced Settings - CloudfalreR2

遗留问题

通过TG Bot发送图片只存入Resource,没有关联Memo

看到有提ISSUE,代码已经fix,等下版本更新

在TG Bot中转发+评论的方式添加内容,会保存两条Memos

手动提交ISSUE

self-host
License:  CC BY 4.0
Share

Further Reading

Jul 16, 2024

Memos碎片笔记工具(2)

最近发现通过tg无法保存内容到Memos,当时没有在意。 今天想要排查一下,发现Memos部署在了华为云上,因为没有安装1panel,操作起来比较麻烦,所以想要使用阿里云上的Memos。 然后折腾了3小时。 1panel安装和升级Memos 1panel的应用商城自带了Memos,所以整体安装比较方

Dec 26, 2023

Memos 碎片笔记工具

很久开始就自建了Memos,没有很好地结合习惯使用起来。 最近打算重新拾起,先写一篇文章怀念一下配置流程 胜利的样子✌🏻 memos 是一个开源的自托管 笔记系统。支持 Markdown 语法、公开分享、iframe 嵌入、标签管理、日历视图、简单的数据迁移与备份功能。 对标产品:Flomo do

OLDER

清理Mac存储空间

NEWER

iOS安全尝试记录

Recently Updated

  • follow 认证
  • Memos碎片笔记工具(2)
  • 独立开发产品工具合集
  • iOS安全尝试记录
  • Memos 碎片笔记工具

Trending Tags

Halo iOS

Contents

©2025 Leo's NoteBook. Some rights reserved.

Using the Halo theme Chirpy