- 发布于
Memos的搭建、设置与调优
- Authors
- Name
- Kioto
- @ztshia
Memos是一个轻量、自部署的笔记程序,开发者声称是永久免费与开源,支持Markdown,即可以当做一个备忘录,也可以用作个人的微博客,同时可以对接第三方的对象存储,高度可定制化,是一个非常棒的开源程序。
搭建
不论是在群晖、宝塔、绿联还是Mac Mini,都可以通过docker轻松的搭建Memos,方法比较简单,通过终端命令或者面板都可以,设置好外网端口即可通过公网进行访问。
docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos ghcr.io/usememos/memos:latest
优化域名
在私有服务器上搭建的一个问题是必须要有端口号,由于公网443端口被运营商禁用,所以需要依赖其他方法进行代理访问,我这里选择的是用又拍云的全站加速。
创建好服务,填写完源站地址与端口,完成配置后就可以通过加速域名进行访问了。
配置S3对象存储服务
Memos有三种存储方式用于保存备忘录的附件,分别是数据库、本地存储和S3存储的方式,一般保险起见不建议采用数据库的方式,容易导致数据丢失,而本地存储可能会存在各地访问速度不理想的问题,而S3存储搭配CDN加速的方式是比较好的一个方案。
对比了国内外的诸多S3对象存储厂商,包括腾讯云、阿里云、青云、七牛云、Backblaze B2、Cloudflare C2以及群晖自家的C2对象存储,对比一系列优劣势后,我最终还是选择了官方推荐的Cloudflare,起初使用的是腾讯云COS,每个月有10GB的免费流量,但由于有一段时间图片上传的比较多导致流量超出,所以选择了Cloudflare,Cloudflare虽然访问速度略逊于国内对象存储厂商,但是由于不计算下行流量,是一种较为稳妥的方案。
服务名称 | 所在地 | 访问速度 | 免费空间 | 免费下载流量 | 绑定域名 | 其他 |
---|---|---|---|---|---|---|
阿里云OSS | 国内 | 非常快 | 5GB/月 | 无 | 是 | |
腾讯云COS | 国内 | 非常快 | 50GB/月 | 10GB/月 | 是 | |
青云QingStor | 国内 | 非常快 | 20GB/月 | 1GB/月 | 否 | |
七牛云Kodo | 国内 | 非常快 | 10GB/月 | 10GB/月 | 是 | 免费套餐仅支持HTTP流量。 |
Backblaze B2 | 国外 | 一般 | 10GB/月 | 1GB/日 | 否 | |
Synology C2 | 台湾 | 一般 | 15GB/月 | 15GB/月 | 否 | |
CloudFlare R2 | 国外 | 一般 | 10GB | 免费 | 是 |
优化样式
Memos的安装和运行后的内存占用都比较小,只有30MB左右,但在V0.12.0版本更新之后,多了一些冗余的功能比如Open AI对话之类的功能,我本身有自己搭建ChatGPT Next Web,所以不太需要这些功能,好在Memos提供自定义CSS,可以通过自定义样式将这些功能屏蔽掉。 此外,Memos的默认标签样式也不太好看,可以进行美化,CSS代码如下。
#header-review,#header-explore,#header-archived-memo,#header-ask-ai{display:none}
.tag-span{border:1px solid;border-radius:6px;padding:0px 6px;color:rgb(22,163,74) !important;font-size:12px !important;-webkit-transform: scale(calc(10 / 12));transform-origin: left center;}
.tag-span:hover{background:#fee;transition:1s;}
.text-xs.px-1.bg-blue-600{background:rgb(22,163,74) !important;}
.memo-wrapper img:hover{filter: grayscale(100%);
filter: gray;transition:1s;}
.memo-wrapper img{filter: blur(1px);transition:1s;}
a.link{color:rgb(22,163,74) !important;text-decoration:none !important;outline:none !important;}
于是,一个高度定制化的Memos服务就完成了。