开源仓库
原作者:https://github.com/Xhofe/alist
下面的项目是博主为了部署方便整合了一个仓库,且支持了Docker部署!
https://github.com/malaohu/alist-oneclick-deploy
配置文件
以下是具体的配置文件内容介绍!按需修改!
info:
title: AList #网站名称,如果填写,则会替换掉默认的
logo: #网站logo,如果填写,则会替换掉默认的
footer_text: "Xhofe's Blog" #网页底部文字
footer_url: https://www.nn.ci #网页底部文字链接
music_img: https://img.xhofe.top/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片
check_update: true #前端是否显示更新
script: #自定义js脚本,可以是脚本的链接,也可以直接是脚本内容,如document.querySelector('body').style="background-image:url('https://api.mtyqx.cn/api/random.php');background-attachment:fixed"
autoplay: true #视频是否自动播放
preview:
url: https://view.alist.nn.ci/onlinePreview?url= #extensions中包含的后缀名预览的地址,默认使用了kkFileView,可以自行搭建
pre_process: [base64,encodeURIComponent] #对地址的处理,支持base64,encodeURIComponent,encodeURI
extensions: [doc,docx,ppt,pptx,xls,xlsx,pdf] #使用上面的url预览的文件后缀
text: [txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp] #要预览的文本文件的后缀,可以自行添加
max_size: 5242880
server:
port: "5244" #程序监听端口
search: false
static: dist
site_url: '*' #建议直接填*,若有信任域名要求,可填写其他具体域名,逗号分割
cache:
enable: true #是否开启缓存
expiration: 60 #缓存失效时间(单位:分钟)
cleanup_interval: 120 #清理失效缓存间隔
refresh_password: password #手动清理缓存密码
ali_drive:
api_url: https://api.aliyundrive.com/v2
root_folder: root #根目录
refresh_token: #必填!!!
max_files_count: 3000 #一次性最大文件数量
NGINX配置
如果绑定域名,可用nginx反代一下
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:5244;
}
项目部署
手动
1)首选需要准备一台服务器。
2)由于我们部署的是golang编译后的文件,所有不用预装golang环境!
3)下载开源项目,根据你不同的系统选择不同的编译后的可执行文件(文章上方有介绍)!
前往AList Release下载对应系统的程序,解压得到一个运行文件alist
前往AList-web下载打包好的前端,解压得到一个dist目录放到alist同级目录下
在同级目录下新建一个配置文件conf.yml,复制上面的配置内容,按需修改!
4)启动项目
chmod +x alist
nohup ./alist > log.log 2>&1 &
5)如果想绑定域名,直接修改NGINX,反代一下即可!
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://127.0.0.1:5244;
}
自动
这里主要针对小白童鞋!可执行下方的命令简单的部署 !
提醒,该脚本暂时只适用于Linux x86。其他环境自己修改一下脚本。
git clone https://github.com/malaohu/alist-oneclick-deploy.git
cd alist-oneclick-deploy
sh install.sh
Docker
提醒,该脚本暂时只适用于Linux x86。其他环境自己修改一下Dockerfile,然后自己发布一下。
关于Docker请参考小白教程:【小白教程】Docker安装使用教程,以及常用命令!
下载镜像
docker pull malaohu/alist
启动镜像
docker run -d --name alist malaohu/alist [token] [folder]
后面的俩个参数分别是TOKEN 和 要分享的目录
例如:
docker run -d --name alist malaohu/alist 5972ed0bd4f54d3d974fa41a8231e root
如果启动Docker容器后,如果无法访问网络,那么在启动命令中加入 –net=host 参数。
例如:
docker run -d --net=host --name alist malaohu/alist 5972ed0bd4f54d3d974fa41a8231e root
常见问题
Q:如何给文件夹设置密码?
A:在要加密的目录下新建一个名称为.password-要设置的密码的文件或者文件夹就可以了。
Q:如何设置根目录?
A:修改配置文件中的ali_drive.root_folder 为想要设置的文件夹的file_id即可。
Q:如何自定义网页底部链接?
A:修改配置文件中的footer_text和footer_url为要设置的内容,或者不填则不会显示。
Q:怎么复制文件直链?
A:进入文件预览,可以预览的文件复制按钮在右上角,不可预览的复制按钮在正中间(backend_url必须设置正确)。
Q:修改网站icon?
A:替换掉dist目录下的favicon.ico即可。
Q:为什么新上传的文件不显示/删除了的文件还在?
A:为了提高响应速度,对文件的列表是有缓存的,默认开启。
Q:如何开关缓存?
A:配置文件中的cache.enable设置为true或false即可,打开会占用更多的内存,但会大幅优化使用体验,默认打开。经测试下载地址是会失效的,所以请自行设置缓存的时间。下个版本将给文件去掉缓存,只缓存文件夹。更新文件的时候可以手动刷新缓存。
Q:如何刷新缓存?
A:程序会自动按照配置文件中的cache.cleanup_interval自动清理过期缓存,如需手动刷新,手动访问后端地址/cache/配置文件中设置的刷新密码,如https://alist.nn.ci/cache/alist。
Q:如何更新?
A:前端:下载新的打包好的文件,删掉原来的dist文件夹,解压新的dist放入原来的位置即可。后端:pkill alist 停掉老的进程,删除旧的alist,下载新的alist,查看配置文件,补上新的配置项,再次运行即可。
Q:要安装Windows版本?
A:自行编译,或者在Github Actions可以找到每次提交的build。