Post cover image

记一次部署Memos

站点折腾


本文最后更新于 2 年前,文中所描述的信息可能已发生改变。

前言

ispeak的编辑器用的jsdelivr,这导致了每次我要新建日记的时候编辑器没显示,被迫换方案

经过木木大佬的介绍,我找到了一个叫Memos的知识库

但我没钱买服务器部署,于是就考虑无服务器部署

Render部署

我首先考虑的是Render部署,因为Render能部署“Web Server”

但部署完成没几个小时后,我发布的日记消失了

看了一下,Render没有访问就会清理数据并且重新部署

考虑到这个是用来做日记用的,数据很重要,因此,我放弃了Render

Zeabur部署

Zeabur部署Memos很方便,自带的Marketplace就有Memos

但由于Zeabur现在只能免费7天,过期之前需要登陆上去手动续期

再加上Zeabur自带的Marketplace要收费

因此,我放弃了Zeabur部署

Replit部署

我找的很多Replit部署Memos的教程都不是最新版本的Memos

看了一下教程,发现那些教程大多都是自己构建后端的

那么我就在想:能否用Github Action部署最新版本Memos后端呢?

于是搞了很久,经历了许多次失败,终于构建成功!

然后用构建完成的Memos试运行,结果显示“No frontend embeded.”

查issues,才知道原来得部署前端

问题不大!将部署前端的命令写在update.yml里面

第二次试运行,成功!

AP7iMWt7QU

(别问为啥没有第一次试运行的图。。。。。。忘记截图了)

感兴趣的话可以看一下我的项目:https://github.com/SinzMise/memos-on-replit

Koyeb部署

最近听安小歪说Replit要收费了

他的Memos转到了codesandbox,我的也转过去了

但我们发现codesandbox会休眠,不得不换个部署平台

之后我发现Memos能连Mysql或者postgreSQL数据库,于是我决定换koyeb部署

注册koyeb账号必须开t才没有银行卡验证的选项

然后再新建个Web Service

选择docker

在image这一行填写:ghcr.io/usememos/memos:latest,点击Next

划到下面,点击Advanced,Environment variables新增两个变量:MEMOS_DRIVERMEMOS_DSN

WARNING注意

两个变量都是必选的,当然你也可以不用添加这两个,只不过一旦Memos更新数据会丢失!

变量
MEMOS_DRIVER数据库名称,MySQL就填mysql,postgreSQL就填postgres
MEMOS_DSN数据库地址

INFO信息

值得一提的是,你使用postgreSQL的时候,数据库地址必须要添加前面的postgresql://

也就是下面的例子:

postgresql://postgres:PASSWORD@localhost:5432/memos

mysql不用在前面加mysql://

直接按照下面的例子填写就行(注意括号和前面的tcp要去掉!)

root:password@tcp(localhost)/memos_prod

然后将Exposing your service下面的port改为5432,然后deploy

等一会你就能体验到Memos了

INFO信息

但koyeb绑定域名好像要钱,因此最好再注册个koyeb账号来搞Uptime Kuma ,然后监测源站(这样的话可以确保反代的时候源站不会没)

Serv00部署

由于Koyeb的部署会自动休眠,因此不得不找别的部署方式

因为之前看见了Serv00部署Alist的方式,所以我寻思着用serv00的方法部署memos

但是苦于不知道前端文件夹放到哪里,因此只能搁置了

然后那个博主就补充了一个serv00部署Memos的教程

教程我放这里了(主要是我懒得搬过来):

Serv00部署Memos

在转载或引用本文时,请务必遵守许可协议并注明来源

给我打钱,助力汐塔计划能够启动(划掉

王九弦SZ·Ninty

种下一颗有故事的种子,让它带着魔法和奇迹生根发芽

近期文章