用 Docker Compose 部署 AList,搭配 Nginx 反向代理和 Let's Encrypt 自动 HTTPS。
Internet → Nginx Proxy (80/443) → AList (5244)
↑
acme-companion (自动签发/续签 Let's Encrypt 证书)
- 自动 HTTPS(Let's Encrypt 签发和续签)
- 安全限制(cap_drop、no-new-privileges、资源限制)
- 定时备份(一三五,滚动保留 3 份)
- 域名放
.env里,换起来方便
# 1. 克隆项目
git clone https://github.com/LiangLliu/alist-docker-deploy.git
cd alist-docker-deploy
# 2. 配置环境变量
cp .env.example .env
# 编辑 .env,填入服务器地址、域名和邮箱
# 3. 确保域名 A 记录已指向服务器 IP
# 4. 部署
./deploy.sh./deploy.sh # 部署(自动先备份已有数据)
./deploy.sh backup # 手动备份
./deploy.sh restore # 列出所有备份
./deploy.sh restore <文件名> # 恢复指定备份deploy.sh— 部署入口,把配置传到服务器上跑scripts/backup.sh— 备份脚本,crontab 也在调这个scripts/restore.sh— 恢复脚本
默认用 xhofe/alist:latest-ffmpeg,带 ffmpeg 能生成视频缩略图。不需要的话换成标准镜像,能小 100MB 左右:
image: xhofe/alist:latest在域名服务商处添加一条 A 记录:
| 记录类型 | 主机记录 | 记录值 |
|---|---|---|
| A | 你想要的子域名前缀 | 你的服务器公网 IP |
比如填
alist就是alist.example.com,填file就是file.example.com,随意。DNS 生效要等几分钟。
- Web UI:
https://your-domain.com - WebDAV:
https://your-domain.com/dav/
第一次部署完会在终端打印管理员密码,记得登进去改掉。
WebDAV 地址是 https://your-domain.com/dav/,各平台都能挂载:
| 平台 | 方式 |
|---|---|
| macOS | Finder → 前往 → 连接服务器(⌘K)→ 输入 WebDAV 地址 |
| Windows | 资源管理器 → 映射网络驱动器 → 输入 WebDAV 地址 |
| iOS | 自带"文件" App → 连接服务器 |
| Android | Solid Explorer / CX 文件管理器等,添加 WebDAV 远程存储 |
好用的客户端:Cyberduck(免费)、Raidrive(Windows,能挂成盘符)
如果启用了 2FA,WebDAV 客户端无法弹出验证码输入。建议为 WebDAV 创建一个独立账号(不开 2FA,设置强密码)。
管理 → 存储 → 添加,驱动选 本机存储:
- 挂载路径:
/ - 根文件夹路径:
/opt/alist/data/files(必须在这个目录下,不然容器没了数据也没了) - 回收站路径:
/opt/alist/data/trash - WebDAV 策略:本机代理
- 签名:开
注意:根文件夹路径别设成
/,会暴露整个容器文件系统。必须在/opt/alist/data/下面,文件才能持久化。
管理 → 设置 → 站点,把这几个关掉:
- 允许索引 → 关
- 允许挂载 → 关
- Allow register → 关
- Robots.txt → 改成
User-agent: *换行Disallow: / - 站点公告 → 清空
用到的开源项目:
| 项目 | 说明 |
|---|---|
| AList | 文件列表与 WebDAV 服务 |
| nginx-proxy | Docker 容器自动反向代理 |
| acme-companion | Let's Encrypt 自动 HTTPS 证书签发与续签 |