写的比较仓促,有什么不足的地方,还请大家多多指点。评论区欢饮留言~

  1. 2022/10/30新增下方的环境变量示例
  2. 感谢@WeiCN在评论区的错误指正
  3. 错误指正后,v3版本也能正常部署使用了

简介

Alist是一款支持多种存储的目录文件列表程序,后端基于gin,前端使用react


部署前准备

  1. 一个Github账号
  2. Fork一份Alist-render的仓库
  3. 一个render账号
  4. 一个数据库,可选sqlite3mysqlpostgres

render账号

点击进入render官网
点击右上角 GET STARTED,使用Github进行注册或登录
按照网页的提示完成注册后进入控制面板

数据库

点击进入elephantsql官网
点击位于页面中央的Get a managed database today,选择海龟样子的Free计划
会进入登陆页面,可以使用Github进行授权登陆,然后信息随便填一下就行
进入控制面板后创建数据库,计划记得选择Free
这样我们就获得了一个免费的postgres类型的数据库


数据库的信息最好记下来备用,等一会要填


截图中的数据库在文章发布后已被删除


部署Alist

拉取仓库

进入render的控制台,点击New+,选择Web Service


选择刚刚Fork的Alist-render的仓库
点击,进入部署页面,自己取个名字,然后先什么都不要动,往下拉,拉到最底下

设置环境变量

在左下角Create Web Service的按钮上边,有个Advanced按钮,点击
然后在点击Add Environment Variable开始添加环境变量
这边可以参考我之前在Alist社区的对话



参考表格对应填写变量参数,只要把DB_HOSTDB_NAMEDB_PASSDB_USER给改成自己的就可以了

数据库对应变量参数示例参数
ServerDB_HOSTqueenie.db.elephantsql.com
User & Default databaseDB_NAMEbkqgx
PasswordDB_PASS5CqBjEVZWdaaad2333aadadadadN3Clo
DB_PORT5432
DB_SSL_MODEdisable
DB_TYPEpostgres
User & Default databaseDB_USERbkqgx
PORT8080

填完检查一下,一共8个变量,好了就可以点击Create Web Service开始部署了,大概1~2分钟可以看到成果

  1. 2022/10/30新增下方的环境变量示例,供大家参考↓↓↓
  2. 感谢@WeiCN在评论区的错误指正
  3. 错误指正后,v3版本也能正常部署使用了

环境变量示例

变量参数示例参数
DB_HOSTqueenie.db.elephantsql.com
DB_NAMEbkqgx
DB_PASS5CqBjEVZWdaaad2333aadadadadN3Clo
DB_PORT5432
DB_SSL_MODEdisable
DB_TYPEpostgres
DB_USERbkqgx
PORT8080
变量参数示例参数
DB_HOST数据库地址
DB_NAME数据库名字
DB_PASS数据库密码
DB_PORT数据库端口
DB_SSL_MODESSL模式
DB_TYPE数据库类型
DB_USER数据库用户名
PORT端口

DB_SSL_MODE这个变量我也不是很清楚,有错误的可以评论区指正,根据官方文档来看

  1. sqlite3数据库:请忽略该参数
  2. mysql数据库:参数有true, false, skip-verify, preferred,选一个填
  3. postgres数据库:参数有disableallowpreferrequireverify-full,选一个填

我用的postgres数据库填的是disable,就是没用SSL

评论区疑难解答

如果你是已连接数据库了,那么你的密码应该已经写入数据库了,所以他不会再显示了,需要你自己去数据库看用户名和密码
如果你使用的是elephantsql 数据库
前往你自己的 elephantsql 数据库,点击侧边栏的 Browser 之后输入 SELECT * FROM "public"."x_users" LIMIT 100
会有一行 username 名为 admin 的,后面就是密码,admin 就是用户名
1670238084349-87e699bc8702c63c9c8182ab8b1e1440.png

或者点 Table queries,再点 x_user 也是可以的
1670238119405-87e699bc8702c63c9c8182ab8b1e1440.png

由于render 15分钟没访问会休眠,所以我们可以注册一个uptimerobotchecklyhq类似的这种监视网站,添加一个监控,24小时定时访问render上的项目,render就不会休眠了

render原本的免费计划是每月允许总共使用750小时,似乎是不计流量的,就部署一个项目来说完全够用。但是render官方宣布定价将从 2023 年 1 月 1 日开始更改,从每月使用750小时,改为了每月免费带宽100GB的流量。


示例站点