前言
很多人同时使用百度网盘、阿里云盘、OneDrive、Google Drive等多个网盘,管理起来非常麻烦。AList是一个开源的文件列表程序,可以将几十种网盘统一聚合到一个界面中浏览和管理,支持WebDAV协议,还能生成直链下载地址。本文教你用Docker在VPS上快速搭建AList。
一、AList功能简介
- 支持30+种存储后端(阿里云盘、百度网盘、OneDrive、Google Drive、夸克网盘、115、天翼云盘等)
- 统一的Web文件浏览界面
- 支持WebDAV协议访问
- 文件直链生成
- 支持密码保护和多用户
- 支持在线播放视频、预览图片和文档
- 支持离线下载(aria2/qBittorrent)
- 支持主题切换和暗黑模式
二、安装AList
Docker Compose安装(推荐)
mkdir -p /opt/alist
cd /opt/alist
创建 docker-compose.yml:
cat > docker-compose.yml << 'EOF'
version: "3.8"
services:
alist:
image: xhofe/alist:latest
container_name: alist
restart: always
ports:
- "5244:5244"
volumes:
- ./data:/opt/alist/data
environment:
- TZ=Asia/Shanghai
EOF
启动:
docker compose up -d
Docker命令安装
docker run -d \
--restart=always \
-p 5244:5244 \
-v /opt/alist/data:/opt/alist/data \
-e TZ=Asia/Shanghai \
--name alist \
xhofe/alist:latest
获取管理员密码
安装完成后,查看管理员初始密码:
docker logs alist 2>&1 | grep password
输出类似:
INFO: The initial password is: aBcDeFg123
访问 http://你的VPS_IP:5244,使用用户名 admin 和上面的密码登录。
登录后请立即在个人资料中修改密码。
三、添加存储后端
登录AList管理后台后,进入 管理 > 存储,点击"添加"来挂载网盘。
挂载阿里云盘
阿里云盘是目前国内最常用的免费大容量网盘:
- 驱动选择 阿里云盘Open
- 挂载路径:
/aliyun(或自定义) - 刷新令牌:需要获取refresh_token
获取阿里云盘refresh_token:
- 浏览器打开 https://www.aliyundrive.com 并登录
- 按F12打开开发者工具 > Application > Local Storage
- 找到
token字段,其中的refresh_token就是需要的值
也可以使用AList提供的工具:https://alist.nn.ci/tool/aliyun/
- 将refresh_token填入配置
- 点击"添加"保存
挂载百度网盘
- 驱动选择 百度网盘
- 挂载路径:
/baidu - 刷新令牌:获取百度网盘的refresh_token
获取百度网盘refresh_token:
- 浏览器打开 https://pan.baidu.com 并登录
- 按F12打开开发者工具 > Console
- 输入
JSON.parse(decodeURIComponent(document.cookie.match(/baiduwp=([^;]+)/)[1])).sign或使用AList提供的工具
挂载OneDrive
- 驱动选择 OneDrive
- 挂载路径:
/onedrive - 点击"获取令牌"按钮,用微软账号授权
- 填入客户端ID和密钥(或使用AList默认的公共客户端)
挂载本地存储
如果VPS上有本地文件也要展示:
- 驱动选择 本地存储
- 挂载路径:
/local - 根目录路径:
/data(VPS上的实际目录)
挂载WebDAV
很多NAS和云存储支持WebDAV协议:
- 驱动选择 WebDAV
- 填入WebDAV地址、用户名、密码
四、常用配置
设置站点信息
进入 管理 > 设置 > 站点:
| 配置项 | 说明 | 示例 |
|---|---|---|
| 站点标题 | 网站标题 | 我的网盘 |
| 站点公告 | 首页公告信息 | 欢迎访问 |
| Logo URL | 自定义Logo | |
| 底部信息 | 页面底部文字 |
创建多用户
进入 管理 > 用户,可以创建多个用户并分配不同的存储访问权限:
- 点击"添加用户"
- 设置用户名、密码
- 配置权限(只读/可写)
- 分配可访问的存储路径
设置密码保护
为特定目录设置访问密码:
在存储设置中,可以为每个挂载点设置"密码",访问时需要输入密码才能浏览文件。
五、配置Nginx反向代理
通过域名和HTTPS访问AList:
server {
listen 80;
server_name drive.yourdomain.com;
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:5244;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 支持WebDAV
location /dav {
proxy_pass http://127.0.0.1:5244/dav;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
申请SSL证书:
sudo certbot --nginx -d drive.yourdomain.com
六、WebDAV访问
AList内置WebDAV服务,可以将挂载的网盘通过WebDAV协议访问:
- WebDAV地址:
https://drive.yourdomain.com/dav - 用户名:AList用户名
- 密码:AList密码
Windows挂载:文件资源管理器 > 映射网络驱动器 > 输入WebDAV地址
macOS挂载:Finder > Cmd+K > 输入WebDAV地址
第三方客户端:PotPlayer、VLC、nPlayer等播放器可以直接打开WebDAV地址播放视频
七、在线播放视频
AList支持在线播放视频,配合nPlayer或Infuse等播放器可以打造私人影视库:
- 确保网盘中有视频文件
- 在AList网页中点击视频文件即可在线播放
- 支持外挂字幕(同目录下的.srt/.ass文件)
- 可以复制视频直链到第三方播放器中播放
推荐的播放方案:
| 平台 | 推荐播放器 | 说明 |
|---|---|---|
| Windows | PotPlayer/VLC | 打开WebDAV或直链播放 |
| macOS | Infuse/IINA | 支持WebDAV和直链 |
| iOS | nPlayer/Infuse | 支持WebDAV协议 |
| Android | nPlayer/VLC | 支持WebDAV协议 |
| TV/盒子 | Kodi/当贝播放器 | 挂载WebDAV播放 |
八、更新与备份
更新AList
cd /opt/alist
docker compose pull
docker compose up -d
备份数据
AList的配置数据在 ./data 目录下,备份此目录即可:
tar -czf alist-backup-$(date +%Y%m%d).tar.gz /opt/alist/data/
九、常见问题
阿里云盘token过期怎么办?
阿里云盘的refresh_token有时效性,过期后需要重新获取并更新到AList中。可以在管理后台 > 存储中直接编辑更新token。
AList和Nextcloud有什么区别?
AList是文件聚合列表工具,主要是浏览和管理已有的网盘文件;Nextcloud是独立的私有云存储方案,提供文件同步、协作、应用扩展等功能。两者可以互补使用。
播放视频卡顿怎么办?
- 检查VPS带宽是否足够
- 尝试使用直链播放代替网页播放
- 阿里云盘等国内网盘在海外VPS上速度可能受限,建议使用国内VPS
- 使用第三方播放器(PotPlayer/VLC)代替网页播放器
可以和Cloudflare Tunnel配合使用吗?
可以,参考Cloudflare Tunnel教程,将AList的5244端口通过Tunnel暴露出去。
总结
AList是管理多网盘的利器,一个界面就能浏览所有网盘的文件,配合WebDAV和直链功能,可以打造一个完整的私人影视库和文件管理中心。用Docker在VPS上搭建AList非常简单,几分钟就能搞定。