前言

很多人同时使用百度网盘、阿里云盘、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管理后台后,进入 管理 > 存储,点击"添加"来挂载网盘。

挂载阿里云盘

阿里云盘是目前国内最常用的免费大容量网盘:

  1. 驱动选择 阿里云盘Open
  2. 挂载路径:/aliyun(或自定义)
  3. 刷新令牌:需要获取refresh_token

获取阿里云盘refresh_token

  1. 浏览器打开 https://www.aliyundrive.com 并登录
  2. 按F12打开开发者工具 > Application > Local Storage
  3. 找到 token 字段,其中的 refresh_token 就是需要的值

也可以使用AList提供的工具:https://alist.nn.ci/tool/aliyun/

  1. 将refresh_token填入配置
  2. 点击"添加"保存

挂载百度网盘

  1. 驱动选择 百度网盘
  2. 挂载路径:/baidu
  3. 刷新令牌:获取百度网盘的refresh_token

获取百度网盘refresh_token

  1. 浏览器打开 https://pan.baidu.com 并登录
  2. 按F12打开开发者工具 > Console
  3. 输入 JSON.parse(decodeURIComponent(document.cookie.match(/baiduwp=([^;]+)/)[1])).sign 或使用AList提供的工具

挂载OneDrive

  1. 驱动选择 OneDrive
  2. 挂载路径:/onedrive
  3. 点击"获取令牌"按钮,用微软账号授权
  4. 填入客户端ID和密钥(或使用AList默认的公共客户端)

挂载本地存储

如果VPS上有本地文件也要展示:

  1. 驱动选择 本地存储
  2. 挂载路径:/local
  3. 根目录路径:/data(VPS上的实际目录)

挂载WebDAV

很多NAS和云存储支持WebDAV协议:

  1. 驱动选择 WebDAV
  2. 填入WebDAV地址、用户名、密码

四、常用配置

设置站点信息

进入 管理 > 设置 > 站点

配置项说明示例
站点标题网站标题我的网盘
站点公告首页公告信息欢迎访问
Logo URL自定义Logo
底部信息页面底部文字

创建多用户

进入 管理 > 用户,可以创建多个用户并分配不同的存储访问权限:

  1. 点击"添加用户"
  2. 设置用户名、密码
  3. 配置权限(只读/可写)
  4. 分配可访问的存储路径

设置密码保护

为特定目录设置访问密码:

在存储设置中,可以为每个挂载点设置"密码",访问时需要输入密码才能浏览文件。

五、配置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等播放器可以打造私人影视库:

  1. 确保网盘中有视频文件
  2. 在AList网页中点击视频文件即可在线播放
  3. 支持外挂字幕(同目录下的.srt/.ass文件)
  4. 可以复制视频直链到第三方播放器中播放

推荐的播放方案:

平台推荐播放器说明
WindowsPotPlayer/VLC打开WebDAV或直链播放
macOSInfuse/IINA支持WebDAV和直链
iOSnPlayer/Infuse支持WebDAV协议
AndroidnPlayer/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是独立的私有云存储方案,提供文件同步、协作、应用扩展等功能。两者可以互补使用。

播放视频卡顿怎么办?

  1. 检查VPS带宽是否足够
  2. 尝试使用直链播放代替网页播放
  3. 阿里云盘等国内网盘在海外VPS上速度可能受限,建议使用国内VPS
  4. 使用第三方播放器(PotPlayer/VLC)代替网页播放器

可以和Cloudflare Tunnel配合使用吗?

可以,参考Cloudflare Tunnel教程,将AList的5244端口通过Tunnel暴露出去。

总结

AList是管理多网盘的利器,一个界面就能浏览所有网盘的文件,配合WebDAV和直链功能,可以打造一个完整的私人影视库和文件管理中心。用Docker在VPS上搭建AList非常简单,几分钟就能搞定。