一. 简介

Alist 是一款支持多种存储的目录文件列表程序,支持 web 浏览与 webdav,后端基于gin,前端使用react

官方文档: Alist Document (nn.ci)

支持的存储

演示地址

二. CentOs7/8 环境下安装和部署

1. 一键脚本安装

仅支持Linux-x86_64/aarch64平台。

安装

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

更新

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

卸载

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

自定义路径

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

# 安装
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. 手动安装

获取Alist

打开AList Release下载要部署的系统对应的文件,最新的版本前端已经与后端打包在一起,无需再次下载前端文件。

运行起来

Linux

# 解压下载对文件得到可执行文件:
tar -zxvf alist-xxxx.tar.gz
# 赋予程序执行权限:
chmod +x alist-xxxx
# 运行程序
./alist-xxxx

其中的xxxx是指不同系统/架构对应的名称,一般Linux-x86/64是alist-linux-amd64,如果你的glibc版本过低,建议下载musl版本

Windows

当看到输出start server @ 0.0.0.0:5244且之后没有报错后,就表示运行成功了,首次运行会输出初始密码,程序默认监听5244端口,现在打开http://ip:5244就可以看见登陆页面了,webdav相关请看WebDav

守护进程

vim /etc/systemd/system/alist.service添加以下内容,其中path_alist为alist所在的路径

[Unit]
Description=alist
After=network.target
 
[Service]
Type=simple
WorkingDirectory=path_alist
ExecStart=path_alist/alist-xxxx -conf data/config.json
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

然后systemctl daemon-reload,现在你就可以使用这些命令来管理程序了:

  • 启动: systemctl start alist
  • 关闭: systemctl stop alist
  • 自启: systemctl enable alist
  • 状态: systemctl status alist
  • 重启: systemctl restart alist

3. 使用 Docker

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

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

稳定版

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

开发版

不推荐,这有可能无法正常使用

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. 使用 Docker-Compose 安装

提供懒人脚本 docker-compose.yml 、build.sh、stop.sh、restart.sh , 这些文件放在同一目录下

docker-compose.yml 文件

version: '2.0'
services:
    alist:
        image: xhofe/alist:latest
        container_name: alist
        ports:
          - "5101:5244"
        restart: always
        volumes:
          # alist的文件和配置目录(根据自身情况配置)
          - /data/public/alist/app/data:/opt/alist/data
          # 共享数据文件目录(根据自身情况配置)
          - /data/share:/data/share

build.sh 一键构建

#! /bin/bash 

# 创建和 docker-compose.yml中映射的共享数据文件目录(根据自身情况配置)
mkdir -p /data/share;

# 停止 Compose 应用相关的所有容器
docker-compose -f ./docker-compose.yml  stop;

# 删除已停止的 Compose 应用
docker-compose -f ./docker-compose.yml  rm -f;

# 部署当前的 Compose 应用
docker-compose -f ./docker-compose.yml up -d &&

# 列出当前的 Compose 应用的状态
docker-compose -f ./docker-compose.yml ps && 

# 打印 alist 日志
docker logs alist &&

echo " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alist docker-compose done ...... "

stop.sh 一键停止命令

#! /bin/bash
 
docker-compose -f ./docker-compose.yml stop 

restart.sh 一键重启命令

#! /bin/bash

docker-compose -f ./docker-compose.yml restart
有了以上文件后 执行命令 sh build.sh

5. PaaS

The initial password refer to logs.

Koyeb

https://github.com/alist-org/alist-koyeb

Render

https://github.com/alist-org/alist-render

Railway

https://github.com/alist-org/alist-railway

Easy to use but easy to violate ToS too.

Heroku

Repl.it

最后修改:2022 年 06 月 22 日
如果觉得我的文章对你有用,请点个赞吧~