docker 搭建alist
📝 笔记摘要:AList 简介
1. AList:强大的多存储文件列表程序 AList 是一款支持多种存储的文件列表程序,使用 Gin 和 Solidjs 开发。它的核心理念不是“存储”文件,而是**“聚合”和“挂载”**现有的存储服务。
2. 核心功能:
多源聚合: 支持挂载阿里云盘、百度网盘、OneDrive、Google Drive、WebDAV、S3、FTP、SMB 等几十种存储后端。
统一访问: 将所有分散在不同网盘的文件整合在一个统一的 Web 界面中展示和管理。
在线预览与播放: 内置强大的媒体播放器,支持视频、音频、图片、PDF、Markdown 等多种格式的在线直接预览,无需下载。
WebDAV 支持: 可以将挂载的网盘通过 WebDAV 协议暴露出来,方便被其他应用(如 PotPlayer、Infuse、RaiDrive)调用。
3. 最大优势:
不占用本地空间: 它是直连官方 API 或 WebDAV 接口,文件依然存储在原始网盘中,不消耗你服务器的硬盘空间(仅缓存少量元数据)。
突破限制: 部分网盘客户端限速严重,AList 配合某些策略或直接通过 WebDAV 访问,往往能获得更好的传输体验。
轻量高效: Go 语言编写,单二进制文件部署,资源占用极低,非常适合运行在你的 Windows 服务器或 Docker 环境中。
💡 适用场景: 如果你手头有多个网盘会员,或者想把 NAS/服务器上的电影库统一管理并远程播放,AList 是目前开源界最优雅、最活跃的解决方案之一。它常与 Emby/Jellyfin(媒体库管理)或 Halo(博客图床)搭配使用。
Alist 容器部署配置说明
1. 基本信息
版本:3.3
服务名称:alist
镜像:xhofe/alist:latest
容器名称:alist
2. 挂载设置
本地目录 ./data 挂载至容器内 /opt/alist/data,用于持久化数据存储。
3. 端口映射
将主机的 5244 端口映射到容器的 5244 端口,确保外部可以访问服务。
4. 环境变量
PUID=0:设置用户ID为 root
PGID=0:设置组ID为 root
UMASK=022:设置文件权限掩码,确保新建文件权限为 755
5. 重启策略
restart: unless-stopped:容器异常退出时自动重启,手动停止后不再自动启动。
6. 完整 docker-compose 配置示例
version: '3.3'
services:
alist:
image: 'xhofe/alist:latest'
container_name: alist
volumes:
- './data:/opt/alist/data'
ports:
- '5244:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
restart: unless-stopped提示:请根据实际需求调整数据目录和端口,确保不会与现有服务冲突。
