本教程使用版本:v3.2.0
上一次简单教了一下alist部署于replit。
不过文章有点老了,alist也迭代至v3了,所以就搞了这个新教程。
注册northflank
要绑卡,不扣款,这一步自己想办法
注册后会要求创建一个project, 起一个好听的名字吧
配置数据库
northflank自带数据库
- 点击
Create new按钮,创建一个Addon
- 类型选
mysql - 勾上
Deploy with TLS和Publicly accessible - 创建后在Connection details里可以看见数据库信息- 复制
EXTERNAL_CONNECT_COMMAND项,可以看到如下内容
1 | mysql |
部署Alist本体

- 选择
Deploy a Docker image - 选择
External image填上xhofe/alist:v3.2.0 Networking一项Port填5244,Protocol选HTTP, 勾上Publicly expose this port to the internet,你会得到一个公开域名,长得像p01--drive--xxxxxxxxx.code.run

- 环境变量如图填写
- 便捷复制
PortDB_HOSTDB_PORTDB_USERDB_PASSDB_NAMEDB_TABLE_PREFIXDB_TYPEDB_SSL_MODECACHE_EXPIRATIONCLEANUP_INTERVAL

- 然后在Containers中可以可以看见日志,出现
stderr F INFO[2022-10-22 11:55:32] start server @ 0.0.0.0:5244就代表部署成功,下方包含初始密码(注意不要复制多一个空格) - Shell 里输
./alist admin出来的信息是错的
然后进入公开域名p01--drive--xxxxxxxxx.code.run, 大功告成
本站的实例:https://file.ver.moe/

其他
绑定域名
Services内的Ports & DNS 处
CDN
如果想给静态资源使用CDN,请加上环境变量
CDN -> https://cdn.jsdelivr.net/npm/alist-web@$version/dist
更新
Services 内 Overview 处点击 Edit deployment, 然后修改版本,目前v3.28.0确定可用
更新报错?
若日志出现failed migrate database: Error 1170
请根据此在数据库内删除 x_search_nodes 数据表并重启