Skip to content

LiangLliu/alist-docker-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AList Docker Deploy

用 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

DNS 配置

在域名服务商处添加一条 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 使用

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 证书签发与续签

About

用 Docker Compose 部署 AList,搭配 Nginx 反向代理和 Let's Encrypt 自动 HTTPS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages