在Fly.io上部署Alist网盘程序

关于收费

Fly.io 是提供一定限额的免费使用额度的,他们的目标就是让小型的应用可以免费运行,而在需要扩展的时候支付一定的费用,而这笔费用也不会太昂贵。Fly.io 的应用会根据使用情况单独计费。 Fly.io 会根据单个用户或者组织计费,官方也说了,如果想要更多免费的应用,那么你可以创建多个组织。

免费限额

分类

限额

说明

VM: shared-cpu

每个月 2340 小时

可以全天候运行 3 个 256 MB 内存的共享 CPU 的 VM

Volumes

3GB

提供 3GB 永久存储

Bandwidth

160 GB/每月

根据各个地方不同分别计算 outbound 流量

Anycast IPs

无限的 IPv6, 每个应用一个 IPv4

每一个额外的 IPv4 地址需要额外每个月 $2

Certificates

10 个活跃的证书

最多 10 个证书

亚洲和印度免费流量是 30G,美国和欧洲是 100G. 更加具体的价格可以参考官网.

搭建准备

Fly.io 自身的文档已经提供了 Docker 应用部署流程

本次部署是采用数据持久层来存档 alist 的 sqlite3 数据库,虽然 Fly.io 原生提供了 PostgreSQL 但是那得多用一个 VM 指标,并且免费用户一旦创建了 PostgreSQL 就消耗掉了免费的 1G 空间.

安装 flyctl

Fly.io 的大多数操作需要使用命令行,所以先要安装命令行工具 flyctl。 安装方式可以参考官方文档:

# Mac(Brew安装)
brew install flyctl
# Mac (直接安装)
curl -L https://fly.io/install.sh | sh
# Linux
curl -L https://fly.io/install.sh | sh
# Windows (Run the Powershell install script)
iwr https://fly.io/install.ps1 -useb | iex

注册登陆

# 注册
flyctl auth signup
# 登陆
flyctl auth login

{gird-item}

{/gird-item} {gird-item}

{/gird-item}

注册完成后,我们就可以正式开始部署应用啦.

创建应用

# 创建应用
git clone https://github.com/alist-org/alist-render
cd alist-render
flyctl launch
# 创建一个 1G 的持久存储空间(最小单位 1)
flyctl volumes create data --size 1 --app APP_NAME

App Name 只允许 数字、字幕、破折号(-),然后记住App Name下面会用到. 地区博主选的香港(hkg (Hong Kong)),访问速度会快点. 其他一律默认回车.

修改配置(fly.toml)

# 端口修改为 5244
[[services]]
http_checks = []
internal_port = 5244
# 添加Alist数据目录
[mounts]
destination = "/opt/alist/data"
source = "data"

部署应用

准备工作已经完成,现在可以部署 alist 应用,输入以下命令

flyctl deploy --remote-only

如果部署顺利(看到 deploved successfully),之后就可以用以下命令打开应用:

flyctl open

查看 Alist 密码

部署的时候,日志会显示密码,如果没有保存,可以在后台日志里面看

https://fly.io/apps/APP_NAME/monitoring

{gird-item}

{/gird-item} {gird-item}

{/gird-item}

绑定域名

Certificates => Add certificate => 填入域名 => 添加解析

{gird-item}

{/gird-item} {gird-item}

https://store.vvhan.com/

查看成品

参考: https://cuojue.org/read/deploy-alist-in-flyio.html

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...