本文记录使用docker安装Alist,配置文件修改,挂载百度网盘和又拍云等配置。
Alist的安装与配置
docker安装Alist
docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
由于国内把dockerhub墙了,镜像文件无法下载,所以我保存一份v3.36.0
版本镜像。alist.tar.gz | AList
# 导出镜像
docker save -o /alist.tar.gz xhofe/alist:latest
# 导入镜像
docker load -i alist.tar.gz
修改Alist管理员密码
# 随机生成一个密码
docker exec -it alist ./alist admin random
# 手动设置一个密码,`NEW_PASSWORD`是指你需要设置的密码
docker exec -it alist ./alist admin set NEW_PASSWORD
登录之后用户名也是可以修改了,为了安全建议可以修改一下。
修改配置文件
由于docker安装alist时做了持久化,所以只要进入宿主机/etc/alist目录下修改配置文件即可
vim /etc/alist/config.json
字段说明
site_url:你的网站 URL,比如 https://pan.nn.ci
,URL 链接结尾请勿携带 /
database:数据库配置,默认是 sqlite3
,也可以使用 mysql
或者 postgres
。如果不使用 MySQL
或者 postgres
,配置文件数据库选项不用修改
其他的配置没有特殊需求不用修改
{
"force": false,
"site_url": "https://alist.xmhweb.cn",
"cdn": "",
"jwt_secret": "LG6ICntG9Kt314iN",
"token_expires_in": 48,
"database": {
"type": "mysql",
"host": "114.114.114.114",
"port": 3306,
"user": "root",
"password": "123456",
"name": "Alist",
"db_file": "data/data.db",
"table_prefix": "x_",
"ssl_mode": ""
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": ""
},
"temp_dir": "data/temp",
"bleve_dir": "data/bleve",
"dist_dir": "",
"log": {
"enable": true,
"name": "data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false
},
"delayed_start": 0,
"max_connections": 0,
"tls_insecure_skip_verify": true,
}
建立mysql数据库
如果配置文件中添加了mysql数据库,则需要创建一个数据库,不然会报错
mysql -uroot -p
create database Alist;
quit
配置文件修改后都需要重启 AList 才会生效。
docker restart alist
登录
通过IP+端口进行访问,如:10.10.10.10:5244
,账号:admin
,密码是你修改的密码。
反向代理设置
如果你有一个云服务器,用IP+端口访问太难记了,可以用二级域名进行访问,可以在 Nginx或Apache的配置文件中添加以下代码块来实现反向代理:
①打开Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。
server {
listen 80;
server_name alist.xmhweb.cn;
location / {
# 加了一个判断,只允许二级域名alist.xmhweb.cn访问,因为我配置过程中发现主域名也可以访问,没找到原因
if ($host != 'alist.xmhweb.cn') {
return 403;
}
proxy_pass http://10.10.10.10:5244;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# 可根据需要设置其他代理相关的头部信息
}
}
解释:
listen 80;
指定监听的端口号。server_name alist.xmhweb.cn;
指定要代理的域名或 IP 地址。location /
定义了匹配的 URL 路径,这里使用了/
,表示匹配所有请求。proxy_pass http://10.10.10.10:5244;
指定要代理的目标地址,这里为10.10.10.10:5244
。proxy_set_header
用于设置代理请求的头部信息,这里设置了Host
和X-Real-IP
头部。
②打开Apache的配置文件,通常位于/etc/httpd/conf/httpd.conf
或/etc/apache2/sites-available/000-default.conf
。
<VirtualHost *:80>
ServerName alist.xmhweb.cn
ProxyPass / http://10.10.10.10:5244/
ProxyPassReverse / http://10.10.10.10:5244/
</VirtualHost>
设置完之后记得重启服务sudo systemctl restart apache2
或sudo systemctl reload nginx
。
如果以上方法行不通,还是用官方的方法吧反向代理 | AList文档 (nn.ci)
我用的宝塔,所以直接按文档操作。
挂载百度网盘
- 挂载路径,随意设置:/BaiduDisk
- Web代理:开启
- WebDAV策略:本地代理
- 【刷新令牌、客户端ID、客户端密钥、自定义破解ua】通过官方文档中的链接获取点击这里
- 根文件目录:填写你要挂载百度网盘中的哪个文件夹,如:/Alist
如果不设置第2点和第3点的话,当文件超过30M左右会无法下载
挂载又拍云网盘
- 挂载路径,随意设置:/UPYun
- Web代理:开启
- WebDAV策略:本地代理
- 存储桶指:又拍云的服务名称
- Endpoint:加速域名,请自行添加
http://
或https://
协议头 - 操作员名称,密码:在又拍云中对操作员进行授权,操作员密码不是AccessKey,也不是SecretAccessKey,需要在账户管理中重新生成密码。
- 根文件目录:填写你要挂载又拍云中的哪个文件夹,如:/,表示根目录
如果不设置第2点和第3点的话,当文件超过50M左右会无法下载
Alist网盘挂载为本地驱动盘
使用RaiDrive工具将Alist网盘挂载在电脑本地,如下图所示,可实现本地上传、查看
首先下载RaiDrive工具:RaiDrive官网,安装好进行配置即可。
服务类型:NAS→WebDAV
地址:Alist网盘地址+端口,路径必须加上:/dav
账号:Alist网盘账户和密码
相关链接
docker安装Alist:https://alist.nn.ci/zh/guide/install/docker.html
配置文件设置:https://alist.nn.ci/zh/config/configuration.html
评论