阿里云FC + Alist Web 实现无服务器部署开源神器 Alist
AI 摘要
正在生成中……
前言
这个思路是我在Alist的Discussion里面看到的 传送门
于是花时间研究了下,感觉还行,所以就写一篇文记录一下。
小心吞金兽!
此文仅用于记录一个搭建思路,不建议实际实施(因为费用太贵了)
我之前随便测试了一下就扣我 ¥0.04,不敢想用多了会扣多少钱
还不如去买一个便宜的服务器整,用FC太不划算了
关于Alist
Alist是一个开源的文件索引和分享服务项目,它允许用户在互联网上建立自己的文件库,方便地进行文件的上传、下载和分享。以下是Alist的一些主要特性和功能:
- 简单易用:Alist的用户界面简洁直观,无论是上传文件、创建文件夹还是设置文件权限,都能快速完成。
- 轻量级:Alist的代码量非常小,且运行效率高,能在各种硬件设备上流畅运行。
- 文件预览:Alist支持多种常用文件格式的预览,如文本、图片、音频和视频等,用户无需下载文件即可查看内容。
- 多种存储后端支持:Alist支持多种云存储服务,如阿里云OSS、腾讯云COS等,用户可以选择最适合自己的存储服务。
- 自定义主题:Alist支持主题自定义,用户可以根据自己的喜好调整网站的外观。
- 完全开源:Alist的源代码完全开源,用户可以自由查看、修改,甚至参与到项目的开发中来。
- 支持WebDAV:Alist支持所有WebDAV存储,WebDAV是一种用于访问文件的标准协议,用户可以使用WebDAV客户端来管理文件。
- 黑暗模式:用户可以根据自己的喜好在明暗模式之间自由切换。
- 受保护的路由:可以为特定的路径添加密码保护和身份验证,增强安全性。
- 文件预览:Alist支持多种文件格式的预览,包括视频、音频、文档、PDF、图片等,甚至支持ipa文件的安装预览。
- 打包下载/批量下载:利用浏览器的stream API支持打包下载,无需使用服务器,同时支持使用Aria2进行批量下载。
- 单点登录:用户可以使用单点登录快速登录AList。
- 自动注册AList账号:通过单点登录,用户可以自动注册成为AList账号。
- 离线下载:AList支持将种子内容离线下载到指定目录,但需要良好的网络环境。
- 保险箱加密/解密文件:用户可以安全地将加密数据存储在远程存储提供商上,数据存储在保险箱中,提供商只能看到保险箱而无法查看数据内容。
- 更多新功能:AList还包括文本编辑器、README/HTML渲染、文件永久链接、Cloudflare Workers代理等功能。
Alist通过其强大的功能和灵活性,为用户提供了一个高效、便捷的文件管理和分享解决方案。用户可以根据自己的需求,将Alist部署在本地或云服务器上,实现个性化的文件服务。
以上内容来自 Kimi
Alist 开源地址:AlistGo/alist
官方文档:Alist文档
官方演示站点:Alist
需要的东西
- 一个已实名的阿里云账号(需要有可用的OSS资源包)(用于持久化存储alist配置文件)
- 一个 Github 账号
- 一个 Vercel / Netlify / Cloudflare 账号 (看你希望部署在那个平台)
确保你有这些东西之后,然后就可以开始啦。
部署阿里云云函数
首先来部署云函数也就是 Alist 后端。
打开 阿里云OSS控制台,新建一个 Bucket 用于存储 Alist 本体
当然如果你想在已有的 Bucket 中放入 Alist 本体文件也行,但是要记得单开一个目录给 Alist 不然文件会很乱
下载最新版 Alist alist-linux-amd64.tar.gz
下载完后解压,将其中的 alist 二进制文件上传至你新建的 Bucket 中即可。
这样文件存储部分就完成了。
然后打开 函数计算控制台,点击左侧的 函数 – 创建函数 后,选择 Web函数
配置项填写如下:
- 函数名称:随意
- 地域:建议选择香港(如果你要部署到CF Pages/Vercel/Netlify的话
- 运行环境:选择 Debian 10
- 代码上传方式:使用示例代码
- 启动命令:更改为
sh start.sh - 监听端口:更改为
5244
随后点击创建。
创建后,点击配置,进入函数配置界面。然后进入 配置 – 权限 板块,给函数添加一个角色 AliyunFcDefaultRole
记得要给这个角色添加OSS的相关权限 策略编辑
然后往下滑,切换到 存储 选项,启用挂载OSS存储。
配置项填写如下:
- Bucket:选择你为 Alist 准备的 Bucket
- Bucket 子目录:如果你把Alist上传到了根目录就填
/,上传到其他目录就填对应目录 - OSS 访问地址:默认
- 函数本地目录:填写
/data - 函数本地目录权限:读写
点击 部署 即可。
这是我的
OSS挂载完毕之后,回到 代码 栏,进入 WebIDE,新建一个名为 start.sh 的文件,内容为
1 | cd /data |
填写完毕之后一定要记得点那个部署代码
部署代码之后,去 配置 – 触发器 找到你的函数公网访问地址,这在后面会用到
到浏览器访问这个地址,当有一个 .htm 文件被浏览器下载到本地时说明你的 Alist 后端服务已经搭建成功了。
部署 Alist Web
接下来就是部署前端了。
到Github下载构建好的前端文件后,解压并修改 index.html
前端文件:dist.zip
找到这一段:
1 | <script> |
将 api 后的 undefined 更改为你之前在云函数找到的公网访问地址,填入即可。
示例:
1 | api: "https://xxxxxxxxxxxxxxxxxx.fcapp.run" |
保存后,选择一个你喜欢的平台将其部署即可,在此就不赘述
好累,不想写了
Some Tips
- 建议把 index.html 混淆一下以免泄露 api 地址,毕竟阿里云函数是按量计费
- 可以试试在Alist中添加路径为
/data/xxxxx的本地存储来实现Alist预览/修改OSS存储文件的效果(? - 不建议启用日志服务,因为日志也是计费的
- 标题: 阿里云FC + Alist Web 实现无服务器部署开源神器 Alist
- 作者: QiuSYan
- 创建于 : 2024-11-05 17:17:15
- 更新于 : 2025-08-23 11:59:05
- 链接: https://blog.qiusyan.top/posts/12964.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。





