## 一、项目展示
GitHub项目地址:https://github.com/Xhofe/alist
Demo:[https://alist.nn.ci](https://alist.nn.ci/)
Alist文档地址:https://alist-doc.nn.ci/en/
## 二、搭建环境
- 服务器:任意香橙派设备([购买链接](https://orangepi.nightytech.com))
- 系统:任意Linux发行版
- 安装好Docker、Docker-compose
## 三、搭建方式
选择适合自己的搭建方式。
### 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
```
COPY
### 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安装为例子)
### 0.说明
docker安装有两种方式,docker和docker-compose,效果是一样的,但是略有区别。
docker安装的好处是只需要一行代码,安装起来方便,缺点是不易管理,需要改参数很麻烦
docker-compose安装的好处是安装位置可视化,各种参数可以随时调整,更新起来也方便
请自行选择
### 1、启用Docker环境
在香橙派的绝大部分镜像中,docker已经被预装了,只需要启用就可以了(部分甚至不用启用)
下面是[香橙派官网](https://orangepi.nightytech.com)中的wiki给出的启用方法
##
Orange Pi提供的linux镜像已经预装了Docker,只是Docker服务默认没有打开。使用**enable_docker.sh**脚本可以使能docker服务,然后就可以开始使用docker命令了,并且在下次启动系统时也会自动启动docker服务。
```
orangepi@orangepi:~$ **enable_docker.sh**
```
可以使用下面的命令测试下docker,如果能运行**hello-world**说明docker能正常使用了。
```
orangepi@orangepi:~$ **docker run hello-world**
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
256ab8fe8778: Pull complete
Digest: sha256:7f0a9f93b4aa3022c3a4c147a449ef11e0941a1fd0bf4a8e6c9408b2600777c5Status:
Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly
……
```
使用docker命令时,如果提示**permission denied**,请将当前用户加入到docker用户组,这样不需要sudo就能运行docker命令了。
```
orangepi@orangepi:~$ **sudo usermod -aG docker $USER**
```
**注意:需要退出重新登录系统才能生效,重启系统也可以。**
如果你的系统没有预装docker,请参考这个[如何一键安装docker和docker compose](https:https://nightytech.com/installdocker)
### 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
```
### 5、访问配置账号
此时,输入localhost:5244 就能正常访问网站了,输入`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/
### 6.使用docker-compose进行安装
首先新建一个目录,例如:
```
sudo mkdir /etc/alist
```
然后进入目录
```
cd /etc/alist
```
新建一个docker-compose.yml
```
sudo nano docker-compose.yml
```
把开头的配置复制粘贴进去
```
version: '3.3'
services:
alist:
restart: always
volumes:
- '/etc/alist:/opt/alist/data' # 冒号左边的地址是你的实际地址,右边是docker内的虚拟地址,记住这个地址,到时候挂载本地存储的时候要用
ports:
- '5244:5244' # 冒号左边的端口是你的访问端口,右边是docker内部端口(不用管)
container_name: alist
image: 'xhofe/alist:latest'
```
然后输入
```
sudo docker-compose up -d
```
其中-d的意思是后台运行
这个时候就成功运行了,访问配置账号和docker部署相同,不再赘述
## 五、添加本地储存的tips
其实alist的文档里已经有详细说明了,但是如果你像我一开始一样第一次用docker部署,可能会对配置产生疑惑

其中:挂载路径指的是你想让这个存储叫什么,比如: /本地储存之类的
根文件夹路径则是你的文件存储位置,在这里要注意,由于alist是在docker内部运行的,所以只能识别docker内的路径,也就是
当你配置完成后上传文件,假设是视频.mp4,那它实际会被存储在/etc/alist/视频.mp4的位置而不是/opt/alist/data/files/视频.mp4,这个位置是alist的视角,不是实际的位置
如果你觉得很难理解的话,就不要动冒号右边的内容,并且本地储存的[根文件夹路径]也照着我填写就行了
## 六、更新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挂载的路径与原来相同
```
## 七*、挂载Alist到本地、
效果如下,可以正常作为目录使用

教程请看
[使用RaiDrive挂载Alist到本地](https://blog.nightytech.com/raidrive)

Comments NOTHING