介绍
Fly.io 有一定限额的免费使用额度的,他们的目标就是让小型的应用可以免费运行,而在需要扩展的时候支付一定的费用。Fly.io 的应用会根据使用情况单独计费。
Fly.io 会根据单个用户或者组织计费,如果想要更多免费的应用,那么你可以创建多个组织。
产品 | 免费额度 | 说明 |
---|---|---|
VM: shared-cpu | 每个月 2340 小时 | 全天候运行 3 个 256 MB 内存的共享 CPU 的 VM |
Volumes | 3GB | 提供 3GB 永久存储 |
Bandwidth | 160GB/月 | 亚洲和印度免费流量是 30G,美国和欧洲是 100G |
搭建准备
本次部署是采用数据持久层来存档 Alist 的 Sqlite3 数据库,虽然 Fly.io 提供 PostgreSQL 但是那得多用一个 VM 资源,并且免费用户一旦创建了 PostgreSQL 就消耗掉了免费的 1G 空间,如果用 Sqlite3 则只消耗 1G 永久空间。
安装 FlyCTL
macOS
curl -L https://fly.io/install.sh | sh
Linux
curl -L https://fly.io/install.sh | sh
Windows
powershell -Command "iwr https://fly.io/install.ps1 -useb | iex"
注册登陆
fly.io 需要绑定信用卡
# 注册
flyctl auth signup
# 登陆
flyctl auth login
登录完成后,就可以正式开始部署应用。
创建应用
git clone https://github.com/moeyy01/alist-fly
cd alist-fly
flyctl launch
先不要部署,创建一个 1GB 永久存储:
# 创建一个 1G 的持久存储空间(最小单位 1)
flyctl volumes create data --size 1 --app APP_NAME
```shell
APP_NAME 替换为你刚才创建的APP名字。
创建完成后在fly.toml配置文件底部添加:
```shell
[mounts]
destination = "/opt/alist/data"
source = "data"
添加完成后检查配置文件中的 internal_port 是否为 5244,检查后即可部署,输入 flyctl deploy
进行部署。
等待部署完成即可,部署完成后可以前往官网控制面板查看,也可以输入 flyctl open
来打开网址。
进阶
如果你想修改配置文件,请在项目目录下输入 flyctl ssh console
即可链接 SSH,找到配置文件修改后输入 fly vm restart <instance-id> -a <app-name>
重启实例即可。
instance-i
为你应用运行的 ID,可以在控制面板上看到,app-name
为你的应用名字。
官方文档:
演示地址: