使用云进行部署的好处是,我们不需要负责云主机的相关运维;在使用部署平台进行服务的部署时,我们还能省去部署的一系列操作。
下面介绍使用 Railway 部署 memos(Dockerfile 部署)
注册并且登录 Railway
注册就按照注册流程进行注册即可,进入首页:
每个月 Railway 是有 5 美元的免费额度的,在右上角下拉的 Project Usage
可以查看
新建项目
选择新建项目按钮,然后选择 Deploy from Github repo
。然后会让你登录 Github 账号并且验证。
验证完成之后选择需要部署的代码仓库(注意,这里是需要自己的代码仓库,需要将 memos 的 Github 仓库 fork 一份到自己的仓库下)。选择仓库下的 memos
仓库进行立即部署:
立即部署之后还不能直接使用,还需要进行后面的一些配置。
配置端口
点击 memos
项目,然后配置 Variables
中添加变量 PORT,值为 5230
在进行完上面的端口配置之后,Railway 会自动进行重新部署,部署完成之后就可以访问了。访问的域名在 Deployment
的最新部署记录中:
之后只要有新代码的提交或者是执行 fork sync
,都能够触发 Railway 的自动部署。
其他部署平台:
[2023-07-09]更新,使用 Railway 的 Volume 可不丢失数据进行更新,下面的具体的指导教程
Railway 不丢失数据更新:
- 参考https://docs.railway.app/reference/volumes这里的说明,使用
volume
功能需要优先登机会员,参考Priority Boarding | Railway Docs可知道加入的方法即连接官方的Discord
即可。- 访问您的 Railway General Settings
- 滚动到 Account Settings,连接您的 Railway 帐户到 Discord
- 在 Discord 中打开任何频道,输入“/beta”命令并按照提示操作
- 现在您应该可以访问“#priority-boarding”频道,并且您的帐户设置中应该显示新的 Priority Boarding 状态
- 从此时起,您将自动启用 Priority Boarding 功能
- 在项目界面,按
Commond + K
新建一个volume
volume 的地址填写为/var/opt/memos
,名字随便。 - 因为 VOLUME 关键字在 Railway 被禁用了,需要修改 memos 的 Dockerfile 文件,将 VOLUME 那一行删除
- 重新部署,记得配置
Variables
中添加变量 PORT,值为 5230,就可以了。
Reference: