在northflank上部署Alist

  • 1296 字
  • 次阅读
  • 条评论
  1. 1. 注册northflank
  2. 2. 配置数据库
  3. 3. 部署Alist本体
  4. 4. 其他
    1. 4.1. 绑定域名
    2. 4.2. CDN
    3. 4.3. 更新
      1. 4.3.1. 更新报错?

本教程使用版本:v3.2.0

上一次简单教了一下alist部署于replit。

不过文章有点老了,alist也迭代至v3了,所以就搞了这个新教程。

注册northflank

要绑卡,不扣款,这一步自己想办法
注册后会要求创建一个project, 起一个好听的名字吧

配置数据库

northflank自带数据库

  • 点击Create new按钮,创建一个Addon
  • 类型选mysql
  • 勾上Deploy with TLSPublicly accessible
  • 创建后在Connection details里可以看见数据库信息- 复制EXTERNAL_CONNECT_COMMAND项,可以看到如下内容
1
2
3
4
5
mysql 
--host=primary.sql--xxxxxx.addon.code.run
--user=d8bd9788xxxxxxxx
--password=5d736907f55d31bxxxxd9325xxxxx875 83833xxxxxcb //83833xxxxxcb是Database name
--port 57373

部署Alist本体

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

  • 环境变量如图填写
  • 便捷复制Port DB_HOST DB_PORT DB_USER DB_PASS DB_NAME DB_TABLE_PREFIX DB_TYPE DB_SSL_MODE CACHE_EXPIRATION CLEANUP_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

更新

ServicesOverview 处点击 Edit deployment, 然后修改版本,目前v3.28.0确定可用

更新报错?

若日志出现failed migrate database: Error 1170
请根据在数据库内删除 x_search_nodes 数据表并重启

分享这一刻
让朋友们也来瞅瞅!