主题
AList
介绍
AList 是一个支持多种存储的文件列表程序,可统一浏览和管理本地存储、网盘及对象存储,并提供文件预览、上传、下载和 WebDAV 等功能。
Docker Compose
创建部署目录,并将当前用户的 UID、GID 写入 .env:
bash
mkdir -p ~/apps/alist/data
cd ~/apps/alist
printf 'PUID=%s\nPGID=%s\n' "$(id -u)" "$(id -g)" > .env创建 compose.yml:
yaml
services:
alist:
image: xhofe/alist:latest
container_name: alist
restart: unless-stopped
ports:
- '5244:5244'
environment:
PUID: '${PUID}'
PGID: '${PGID}'
UMASK: '022'
TZ: Asia/Shanghai
volumes:
- ./data:/opt/alist/data./data 保存数据库、配置和日志等运行数据,重建或更新容器时必须保留。
启动服务:
bash
docker compose up -d
docker compose logs --tail 100 alist首次使用时随机生成管理员密码:
bash
docker compose exec alist ./alist admin random访问 http://<服务器地址>:5244,使用 admin 和命令输出的密码登录,随后修改为自己的密码。
挂载本地目录
使用本地存储驱动时,需要将宿主机目录挂载到容器中。例如,将 /data/share 挂载为容器内的 /mnt/share:
yaml
services:
alist:
volumes:
- ./data:/opt/alist/data
- /data/share:/mnt/share随后在 AList 中添加本地存储,并将根文件夹路径设置为 /mnt/share。如果只允许浏览和下载,可以使用 /data/share:/mnt/share:ro。
更新
更新前应备份 ./data。生产环境建议使用经过验证的固定版本标签,避免不可控升级。
bash
docker compose pull
docker compose up -d
docker compose logs --tail 100 alist安全注意事项
./data包含数据库、配置及存储凭据,不应提交到公开仓库。- 本地存储驱动可以访问已挂载目录,只挂载确实需要管理的路径,不要挂载宿主机根目录或其他敏感目录。
- 对公网提供服务时,应启用管理员密码,并通过反向代理配置 HTTPS 和必要的访问控制。
- 添加网盘或对象存储时,优先使用权限最小化的独立凭据,并注意对应服务商的接口调用及账户限制。
