一、项目展示

GitHub 项目地址:https://github.com/Xhofe/alist

Demo:https://alist.nn.ci
MY Demo:https://alist.99218632.xyz/

Alist 文档地址:https://alist-doc.nn.ci/en/

二、搭建环境

  • 服务器:腾讯香港轻量应用服务器 24 元 / 月 VPS 一台(最好是选非大陆的服务器)(购买链接
  • 系统:Debian 10(DD 脚本 非必需 DD 用原来的系统也 OK)
  • 域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程
  • 安装好 Docker、Docker-compose(相关脚本
  • 【非必需二选一】安装好宝塔面板,并安装好 Nginx(安装地址
  • 【非必需二选一】安装好 Nginx Proxy Manager(相关教程

三、搭建视频

YouTube:https://youtu.be/6M8QoZoQ-28

哔哩哔哩【完整版本可以点击去吐槽到 B 站观看】:

四、搭建方式

选择适合自己的搭建方式。

1、一键脚本安装

仅支持 Linux-x86_64/aarch64 平台。

安装

BASH

curl -fsSL "https://nn.ci/alist.sh" | bash -s install

注意:

已经安装过再次执行安装会删除之前的数据,更新请使用更新命令。

更新

BASH

curl -fsSL "https://nn.ci/alist.sh" | bash -s update

卸载

BASH

curl -fsSL "https://nn.ci/alist.sh" | bash -s uninstall

自定义路径

默认安装在 /opt/alist,要自定义安装路径,添加安装路径为第二个参数,必须是绝对路径(路径以 alist 结尾时直接安装到给定路径,否则会安装在给定路径 alist 目录下),如安装到 /root

BASH

# 安装

curl -fsSL "https://nn.ci/alist.sh" | bash -s install /root

# 更新

curl -fsSL "https://nn.ci/alist.sh" | bash -s update /root

# 卸载

curl -fsSL "https://nn.ci/alist.sh" | bash -s uninstall /root

2、手动搭建

参考文档:https://alist-doc.nn.ci/docs/install/manual

3、Docker(本次使用)

初始密码请查看日志输出:

BASH

docker logs alist
# 或者
docker exec -it alist ./alist -password

稳定版

BASH

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest

对应的 docker-compose.yml

YAML

version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'    # 冒号左边的地址可以自己修改
        ports:
            - '5244:5244'      # 冒号左边的端口可以自己修改
        container_name: alist
        image: 'xhofe/alist:latest'

开发版

BASH

docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:v2

指定版本

具体见: https://hub.docker.com/r/xhofe/alist

我们此次使用稳定版安装。

4、其他安装方式

具体见:https://alist-doc.nn.ci/docs/intro

五、开始搭建(以 Docker 安装为例子)

1、搭建 Docker 环境

参考这篇:【Docker 系列】不用宝塔面板,小白一样可以玩转 VPS 服务器!

2、运行安装代码

视频安装代码:

BASH

docker run -d --restart=always -v /root/data/docker_data/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest  #可以自己保存下来,比如创建一个config.txt的文件,把这条代码复制进去保存,下次换服务器搬家之类的就很容易。

查看密码:

BASH

docker logs alist

3、放行相关端口

遇到访问不了,请在宝塔面板的防火墙和服务商的后台防火墙里打开对应端口。

4、配置反向代理

详情参考视频,注释掉 Nginx 配置文件中的这部分内容:

BASH

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
    error_log /dev/null;
    access_log off;
}

location ~ .*\.(js|css)?$
{
    expires      12h;
    error_log /dev/null;
    access_log off;
}

代码如下:

BASH

location / {
    proxy_pass http://127.0.0.1:5244/;
    rewrite ^/(.*)$ /$1 break;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade-Insecure-Requests 1;
    proxy_set_header X-Forwarded-Proto https;
}

5、访问配置账号

此时,输入反向代理的域名就能正常访问网站了,输入 docker logs alist 里面的密码就能正常登陆后台了。为了方便起见,建议更改一个自己能记住的密码。

6、添加本地存储

路径可以填写 /opt/alist/data/,这样的话,就对应 VPS 上的 /root/data/docker_data/alist 这个安装目录了。

如果你想深一级,可以填写 /opt/alist/data/local,这样的话,你在原来挂载的目录 /root/data/docker_data/alist 下,新建一个 local 的文件夹就可以了,然后你把自己想要展示的文件放在 /root/data/docker_data/alist/local 里即可。

其他网盘的添加方式,请参考作者的文档:https://alist-doc.nn.ci/en/

六、更新 Alist(适用于 Docker)

BASH

docker stop alist  #停止alist容器

docker rm -f alist  #删除alist容器,因为之前映射到了本地,所以数据不会被删除

cp -r /root/data/docker_data/alist /root/data/docker_data/alist.bak  #可选,如果不放心,可以备份一下数据

docker pull xhofe/alist:latest  #拉取最新的alist镜像

docker run -d --restart=always -v /root/data/docker_data/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest    #运行安装命令,注意-v挂载的路径与原来相同