部署alist
效果
起因
我在几个月前参加了阿里云盘的内测,最近领的容量也比较多,有 1.66T
,恰好在今天又看见了群里有人提到了 alist
于是我就想起了这个
获取 Refresh Token
打开这个网站
第一步(注意一定要在登陆前执行这一步)
点击本页顶部 移动端网页登录入口
,按F12打开浏览器开发者工具,点击开发者工具 Network
栏
![]
(https://cdn.jsdelivr.net/gh/godapex/filecdn@master/img/37/37_2.png)
第二步
输入阿里云盘账户信息进行登录(登录成功不会有任何提示),接着在开发人员工具找到并拷贝 login.do?appName=aliyun
链接的 response
数据
第三步
在本页粘贴 response
数据到输入框,点击 解码Refresh Token
页面将弹出你的 refresh_token
,保存下来备用
##注意事项
如果你使用的是 edge
那么 浏览器开发者工具
将会是中文的,但不用慌张,使用方式是相同的包括位置等等都是一样的
部署 (本文提供了四种方式)
使用 Bt面板
基础配置
- 前往AList Release下载对应系统的程序,解压得到一个示例配置文件和一个系统名称文件夹里面包含运行文件
alist
- 前往AList-web下载打包好的前端,解压得到一个
dist
目录放到alist
同级目录下 - 在同级目录下新建一个配置文件
conf.yml
,复制以下内容到该文件中,或直接使用示例配置文件进行修改
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: #自定义脚本,可以是脚本的链接,也可以直接是脚本内容 autoplay: true #视频是否自动播放 preview: 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] #要预览的文本文件的后缀,可以自行添加server: address: "0.0.0.0" port: "5244" search: true static: dist site_url: '*' password: password #用于重建目录ali_drive: api_url: https://api.aliyundrive.com/v2 max_files_count: 200 drives: - refresh_token: xxx #refresh_token root_folder: root #根目录的file_id name: drive0 #盘名,多个盘不可重复,这里只是示例,不是一定要叫这个名字,可随意修改 password: pass #该盘密码,空('')则不设密码,修改需要重建生效 hide: false #是否在主页隐藏该盘,不可全部隐藏,至少暴露一个 - refresh_token: xxx #只有一个盘的话,该段完全可以删除,反之有更多可以继续添加 root_folder: root name: drive1 password: pass hide: falsedatabase: type: sqlite3 dBFile: alist.db
- 填入最开始获取到的
refresh_token
,然后自行修改配置文件中默认的值
现在的情况应该是,目录下有两个文件alist
、conf.yml
和一个文件夹dist
- 新建网站之后直接使用
远程下载
下载即可 - 仔细阅读以上内容
运行(如果迁移之后出现问题,保留conf.yml
,其余内容全部重新下载)
- 建议先运行这个,看一下
log.log
文件看一看有没有问题(我就是吃了这个的亏),进程守护无法启动时,不会有错误提示
chmod +x alist #bt面板部署不需要执行nohup ./alist > log.log 2>&1 &
添加进程守护
- 使用
Supervisor管理器
- 看图进行设置
- 访问
yourip:5244
进行确认
设置 反代
通过域名访问
- 看图进行设置
常见问题解答
- 如何给文件夹设置密码?
在要加密的目录名称后面加上,列表中会自动消除后面的密码部分。.password-密码 - 如何隐藏文件夹
在要隐藏的文件夹名称后面加上即可。.hide - 如何重建目录树
点击网页底部的重构目录
按钮,输入配置文件中设置的server.password
确定即可。 - 如何设置根目录?
修改配置文件中的 为想要设置的文件夹的 即可。文件夹的file_id是什么?根目录就是root,其他目录为点进文件夹之后的url中 后面那一串ali_drive.root_folderfile_idfolder/
- 如何自定义网页底部链接?
修改配置文件中的 和 为要设置的内容,或者不填则不会显示.footer_textfooter_url
- 怎么复制文件直链?
点进文件,右上角有复制直链的按钮。 - 修改网站icon?
替换掉目录下的即可。dist favicon.ico
- 为什么新上传的文件不显示/删除了的文件还在?
列表展示的是本地数据库里的数据,更新文件之后需要重建。 - 如何更新?
前端:下载新的打包好的文件,删掉原来的dist文件夹,解压新的dist放入原来的位置即可。后端: 停掉老的进程,删除旧的alist
,下载新的alist
,查看配置文件,补上新的配置项,再次运行即可。pkill alist
- 运行显示检查更新之后直接报错?
可能是无法访问到GitHub的api,可以在命令行后面加上-skip-update跳过检查更新。 - 怎么指定路径重建?
在哪个路径点rebuild就是在哪里重建。 - The input parameter limit is not valid. limit should be less than 200?
Xhofe/alist-web#22
补充(推荐)
使用mysql(可选)我用原来的自带的出现了 database is locked
并且折腾无用
需要使用utf8mb4编码,修改database
部分配置:
在conf.yml
文件中修改,记得新建数据库,并删除文件alist.db
database: type: mysql user: 用户名 password: 密码 host: 127.0.0.1 port: 3306 name: 数据库名
一键部署 Alist
bash -c "$(curl -sS https://www.cooluc.com/alist-install.sh)"
Heroku部署
https://github.com/sbwml/alist-heroku
使用Docker部署(支持 linux/386/amd64/armv7/armv8 架构)
Docker Hub: https://hub.docker.com/r/sbwml/alist
- 创建 Alist 容器
docker run -d --restart=always -v /etc/alist:/alist/config -p 5244:5244 --name="alist" sbwml/alist:latest
- 写入 refresh_token
vi /etc/alist/conf.yml
refresh_token: xxx 修改 xxx 为你的 refresh_token。
更多: https://www.nn.ci/archives/alist.html
- 重启 Alist 容器
docker restart alist
- 访问 Alist
现在你可以通过:http://ip地址:5244/ 访问到Alist