前言 {#前言}
AList 一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序。
可以用来搭建个人网盘,资源站等应用,博主的网盘就是使用 AList 搭建的。
功能特性:
- 支持多种平台,Windows、Linux、MacOS等等
- 支持多种存储方式,见下方
- 支持所有 WebDAV 存储
- 支持为特定路径添加密码保护和身份验证
- 支持文件预览,包括视频、音频、文档、PDF、图片等,甚至还支持 ipa 安装
- 支持批量下载,可结合 Aria2 ,qb等服务
- 支持单点登录
- 支持离线下载
- 支持作为 S3 存储桶使用(这个真的好)
- 等等......
基本支持市面上所有的存储方式,例如:本地存储
, Crypt
, 阿里云盘Open
, 阿里云盘
, OneDrive /APP/ SharePoint(国际版
, 世纪互联
, de
, us)
, GoogleDrive
, 123云盘/分享/直链
, FTP / SFTP
, PikPak / 分享
, S3[对象存储]
, 多吉云
, 又拍云对象存储
, WebDAV(支持无API的OneDrive/SharePoint)
, Teambition(中国,国际)
, 分秒帧
, 天翼云盘 (个人云
, 家庭云)
, 中国移动云盘 (个人云
, 家庭云)
, 中国联通云盘
, 四川电信魔盘
, Yandex.Disk
, 百度网盘 / 分享
, 夸克网盘
, 迅雷网盘 / X / 浏览器
, 蓝奏云、蓝奏云优享版
, 小飞机网盘
, 阿里云盘分享
, 谷歌相册
, Mega.nz
, 一刻相册
, Terabox -海外百度
, AList v2/v3
, SMB
, 别名
, 115
, Seafile
, Cloudreve
, Trainbit
, UrlTree
, IPFS
, UC网盘
, Dropbox
, 腾讯微云
, 腾讯智能创作平台
, 超星星小组盘
, 曲奇云盘
, 网易云音乐云盘
, 6盘
等等
AList 支持多种平台,本篇教程只介绍如何在 Linux 上使用 Docker 搭建,因为跑线上服务,都是用的 Linux,如果是在本地 Windows 或者 Mac 搭建,参考官方文档进行安装。
相关准备/链接 {#相关准备-链接}
- 服务器/VPS
- 服务器安装 Docker 环境
- 域名(非必需但建议)
- 宝塔、Caddy、Nginx、Nginx Proxy Manager 等反代服务(非必需但建议)
- 网盘:https://drive.fjy.zone
- AList 文档:https://alist.nn.ci/zh/
- GitHub项目地址:https://github.com/alist-org/alist
部署方式 {#部署方式}
建议采用 Docker 的方式进行部署
一键脚本部署 {#一键脚本部署}
可以使用 一键部署 脚本进行安装、更新、卸载
安装
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
更新
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update
卸载
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall
默认安装在 /opt/alist
,要自定义安装路径,添加安装路径为第二个参数,必须是绝对路径(路径以alist结尾时直接安装到给定路径,否则会安装在给定路径alist目录下),如安装到 /root
:
# Install
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install /root
update
======
curl -fsSL "https://alist.nn.ci/v3.sh" \| bash -s update /root
Uninstall
=========
curl -fsSL "https://alist.nn.ci/v3.sh" \| bash -s uninstall /root
- 启动:
systemctl start alist
- 关闭:
systemctl stop alist
- 状态:
systemctl status alist
- 重启:
systemctl restart alist
有任何问题参考文档:https://alist.nn.ci/zh/guide/install/script.html
Docker部署 {#Docker部署}
AList 提供了多个镜像
- 基本镜像:xhofe/alist
- 预装aria2镜像:xhofe/alist-aria2
根据自己需求自行选择,博主使用的是 xhofe/alist-aria2 镜像,因为偶尔会用它的 aria2 下载其他资源,也可以使用 qb 进行资源下载,具体参考文章:Docker快速搭建下载神器qBittorrent,支持下载和管理BT、种子、磁力链接等文件
可以直接执行下面命令把 Docker 容器启动起来:
docker run -d --restart=unless-stopped -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
docker-compose.yml 配置文件如下:
version: '3.3'
services:
alist:
image: 'xhofe/alist'
container_name: alist
volumes:
- '/etc/alist:/opt/alist/data'
ports:
- '5244:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
restart: unless-stopped
可自行更换镜像、端口号和容器卷挂载路径:
- images: 可选择
xhofe/alist
或者xhofe/alist-aria2
- -p / ports:可自行更改宿主机未被占用的端口
- -v / volumes:可自行更新宿主机中的映射文件夹
然后在 docker-compose.yml 文件的目录下执行下面命令即可启动容器:
docker compose up -d
如果国内的服务器拉取镜像失败,可以参考文章:免费 API 代理服务 使用DockerHub代理
获取默认密码 {#获取默认密码}
运行下面命令,查看日志,获取 admin
的初始密码:
docker logs alist
输出中有一句
......
INFO[2024-08-19 20:02:30] Successfully created the admin user and the initial password is: r7bArvEf
......
例如此处的默认密码就是 r7bArvEf
配置反向代理(非必需但建议) {#配置反向代理-非必需但建议-}
Docker 容器运行成功后,可以配置反向代理,用域名进行访问,Nginx 配置示例如下:
server {
server_name alist.example.com;
listen 443 ssl http2;
ssl_certificate <SSL证书路径>.cer;
ssl_certificate_key <SSL证书路径>.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
listen 80;
if ($scheme = http) {
return 301 https://$host:443$request_uri;
}
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-Host $http_host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect http:// https://;
}
}
使用 {#使用}
运行成功后可通过 http://IP:5244 进行访问,如果配置了 Nginx,可使用域名进行访问。
默认用户名:admin
默认密码:<上面获取的默认密码>
登录成功后,默认会跳转到首页,提示 failed get storage: storage not found; please add a storage first
意思是没有添加一个存储配置,点击右下角「管理」按钮即可跳转到后台
在后台可以修改你的 用户名
和 密码
、添加存储等各种设置
可以在设置里面更改 网站标题、网站公告、样式等内容,详细的配置可参考文档:https://alist.nn.ci/zh/config/
在「任务」里面,你还可以在各种存储盘中复制文件,支持的存储参考文档:https://alist.nn.ci/zh/guide/advanced/rapid_upload.html
需要在「存储」里面添加配置,如果你硬盘够大,带宽速度还可以,可以配置本地存储,国内常用的存储方式:阿里云盘Open、天翼云盘、115网盘、123网盘、蓝奏云等云盘。
国内绝大部分网盘都会限速,如果不看影视基本够用,天翼云盘、115云盘速度还是非常快的,基本能达到每秒几十M,看影视基本没问题,除了4K等资源。
因为国内会对你存储的内容进行审核,所以你也可以选择国外的云盘,例如:Onedrive等
因存储方式配置较多,所以在文章中就不列出对应的配置过程,大家可以根据选择的存储方式自行按照文档配置:https://alist.nn.ci/zh/guide/drivers/common.html
可以在「元信息」中配置你文件夹的访问密码,例如我想设置路径 /test
访问需要密码:xxxxxx
,则配置如下:
如果大家用的是 xhofe/alist-aria2 镜像,则可以使用 aria2 ,可以下载一些磁力等其他资源,可以在设置 -> 其他中配置密钥,这样使用的时候需要输入密钥,下载进程可以在「任务」里面看到。
你还可以把它作为一个 S3 存储桶使用,在 设置 -> 对象储存 中设置即可。
如果有任何问题可以留言反馈,或者添加首页微信群沟通。
更新 {#更新}
# 进入 alist 项目的 `docker-compose.yml` 文件的目录下,执行下面命令
拉取新镜像
=====
docker compose pull
更新项目容器
======
docker compose up -d
删除未被使用的镜像(prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像)
==============================================================
`docker image prune
`
卸载 {#卸载}
# 进入 alist 项目的 `docker-compose.yml` 文件的目录下,执行下面命令
docker compose down
然后删除 alist 对应的文件/文件夹即可
======================