宝塔下安装 OpenList 教程
- OpenList 是一个由 OpenList 团队独立维护的开源项目,遵循 AGPL-3.0 许可证,致力于保持完整的代码开放性和修改透明度。
- 一个支持多种存储的文件列表程序,使用 Gin 和 SolidJS
- OpenList 是一个支持多种存储的文件列表程序🗂️,是一个有韧性、长期治理、社区驱动的 AList 分支🔀,旨在防御基于信任的开源攻击🛡️。
安装教程
-
安装宝塔
- 系统兼容性排序: Debian 12(推荐)、Ubuntu 22、Centos 9、OpenCloud 9、TencentOS Server4、AlibabaCloud 3 > 麒麟、统信、欧拉等Linux系统
- 稳定版:推荐公司、企事业单位及生产环境使用,特别注重安全和稳定性,只修BUG,不加新功能
- 正式版:推荐安装,已经公测且稳定的版本,每月会更新新功能,推荐使用Debian12系统
通用安装脚本(推荐)
1
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
Centos / OpenCloud / Alibaba
1
url=https://download.bt.cn/install/install_panel.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_panel.sh $url;fi;bash install_panel.sh ed8484bec
Debian
1
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec
Ubuntu / Deepin
1
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ed8484bec
-
放行端口
- 因为 OpenList 需要使用端口 5244,因此需要提前在宝塔中放行。
- 在宝塔界面里的 安全 中放行 5244 端口即可!
- 如果有安全组或防火墙的,同样需要在安全组或防火墙中放行 5244 端口。
-
安装 OpenList
-
docker-cli
1
docker run -d --restart=unless-stopped -v /etc/openlist:/opt/openlist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="openlist" openlistteam/openlist:latest
-
docker-compose
-
创建
docker-compose.yml
文件1
2mkdir -p /opt/openlist
vim docker-compose.yml -
写入以下内容,然后保存并退出:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# docker-compose.yml
services:
openlist:
image: 'openlistteam/openlist:latest'
container_name: openlist
volumes:
- './data:/opt/openlist/data'
ports:
- '5244:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
- TZ=Asia/Shanghai
restart: unless-stopped
-
-
名称 默认值 说明 PUID
0
运行身份 UID PGID
0
运行身份 GID UMASK
022
https://en.wikipedia.org/wiki/Umask TZ
UTC
默认为 UTC 时区,如果你想指定时区,则可以设置此变量,例如: Asia/Shanghai
RUN_ARIA2
是否同时运行 ARIA2,当镜像含有 aria2 环境时默认为 true
,否则为false
OPENLIST_ADMIN_PASSWORD
通过环境变量指定管理员密码 -
- 稳定版:
openlistteam/openlist:latest
oropenlistteam/openlist:v*.*.*
- 最新镜像版本 Tag,请参阅:https://hub.docker.com/r/openlistteam/openlist/tags
- 部分容器运行平台不支持大于 100M 的镜像,请使用精简版镜像
lite
,如:openlistteam/openlist:latest-lite
,否则可能出现Pod ephemeral local storage usage exceeds the total limit of containers 100Mi.
- 开发版:
openlistteam/openlist:beta
- 预装环境镜像后缀:
后缀 说明 aio
同时包含下列所有预装环境的镜像 ffmpeg
预装 ffmpeg 的镜像,用于本地存储缩略图 aria2
预装 aria2 的镜像,用于离线下载 你可以在上述任意镜像标签后面,使用 -
符号附加后缀以切换到附带环境的镜像。如openlistteam/openlist:latest-aio
openlistteam/openlist:latest-aria2
openlistteam/openlist:latest-ffmpeg
。
- 稳定版:
-
-
登录 OpenList 后台
安装成功后,打开
http://ip:5244
就可以看见后台登陆页面了。 -
查看管理员信息
-
首次运行
1
docker log openlist
你将在日志中看到密码
1
2INFO[2025-06-30 12:17:09] username: admin
INFO[2025-06-30 12:17:09] password: xYZabHGf -
非首次运行
您可以 重新生成 或 手动设置密码
1
2
3
4
5# 重新随机生成密码
docker exec -it openlist ./openlist admin random
# 手动设置密码为 `NEW_PASSWORD`(替换为您要设置的密码)
docker exec -it openlist ./openlist admin set NEW_PASSWORD
-
-
添加存储
-
修改 Nginx 配置文件
-
删除或注释以下默认配置
1
2
3- location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md
- location ~ .\*\.(gif|jpg|jpeg|png|bmp|swf)$
- location ~ .\*\.(js|css)?$ -
示例
-
-
SSL和反向代理
- 默认 OpenList 是用
http://ip:5244
访问的,为了能够使 OpenList 用https://domain/
访问,需要在宝塔中配置 SSL + 反向代理。 - 注意:需先在
SSL
选项中申请证书,然后在设置反向代理。或者设置反向代理之后,关闭反向代理功能,申请SSL
证书后再次开启代理。 - 配置 SSL
- 配置反向代理
- 按照上述配置完成后即可使用
https://domain/
的方式访问 OpenList
- 默认 OpenList 是用
-
更新 OpenList
1
2
3
4
5
6
7
8# 拉取最新的镜像
docker-compose pull
# 重新启动容器
docker-compose up -d
# 清理旧容器(可选)
docker system prune -f
修改预览配置
- OpenList 安装并配置完成可能会遇到 office 文件不能正常预览 的问题,具体请参考:#594
- 为了解决这个问题,我们需要修改后台配置中的 设置 —> 预览 —> Iframe 预览 选项,具体如下:
1
2
3
4将
"Microsoft":"https://view.officeapps.live.com/op/view.aspx?src=$e_url",
改为
"Microsoft":"https://view.officeapps.live.com/op/view.aspx?src=$durl", - 即:将 Microsoft 预览链接中的
$e_url
改成$durl
,其它设置保持不变。
备案信息
设置 --> 全局 --> 自定义内容
1 | <style> |
将
豫ICP备88888888号
修改为自己的备案号
常见问题
Request failed with status code 413
- 说明:这个错误表明你尝试上传的文件大小超过了 Nginx 服务器的限制。
- 解决方案:
- 修改 Nginx 的
client_max_body_size
1
2# 在 http、server 或 location 块中添加(位置不同,作用范围不同)
client_max_body_size 100M; # 例如设置为 100MB,按需调整- 可以放在
http
、server
或location
块中,作用范围不同:http
块:全局生效server
块:仅对该域名生效location
块:仅对特定路径生效(如/api/fs/put
)
- 可以放在
- 修改后重启 Nginx
1
2sudo nginx -t # 测试配置是否正确
sudo systemctl restart nginx # 重启生效(或使用 sudo service nginx restart)
- 修改 Nginx 的
客户端超时问题
如果上传大文件时超时,可能需要调整:
1 | server { |