宝塔下安装 OpenList 教程

  • OpenList 是一个由 OpenList 团队独立维护的开源项目,遵循 AGPL-3.0 许可证,致力于保持完整的代码开放性和修改透明度。
  • 一个支持多种存储的文件列表程序,使用 Gin 和 SolidJS
  • OpenList 是一个支持多种存储的文件列表程序🗂️,是一个有韧性、长期治理、社区驱动的 AList 分支🔀,旨在防御基于信任的开源攻击🛡️。

安装教程

  1. 安装宝塔

    • 系统兼容性排序: 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
  2. 放行端口

    • 因为 OpenList 需要使用端口 5244,因此需要提前在宝塔中放行。
    • 在宝塔界面里的 安全 中放行 5244 端口即可!
    • 如果有安全组防火墙的,同样需要在安全组防火墙中放行 5244 端口。
  3. 安装 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
        2
        mkdir -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 or openlistteam/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
  4. 登录 OpenList 后台

    安装成功后,打开 http://ip:5244 就可以看见后台登陆页面了。

  5. 查看管理员信息

    • 首次运行

      1
      docker log openlist

      你将在日志中看到密码

      1
      2
      INFO[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
  6. 添加存储

  7. 修改 Nginx 配置文件

    • 删除或注释以下默认配置

      1
      2
      3
      - location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md
      - location ~ .\*\.(gif|jpg|jpeg|png|bmp|swf)$
      - location ~ .\*\.(js|css)?$
    • 示例

  8. SSL和反向代理

    • 默认 OpenList 是用 http://ip:5244 访问的,为了能够使 OpenList 用 https://domain/ 访问,需要在宝塔中配置 SSL + 反向代理。
    • 注意:需先在 SSL 选项中申请证书,然后在设置反向代理。或者设置反向代理之后,关闭反向代理功能,申请 SSL 证书后再次开启代理。
    • 配置 SSL
    • 配置反向代理
    • 按照上述配置完成后即可使用 https://domain/ 的方式访问 OpenList
  9. 更新 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
2
3
4
5
6
7
8
9
10
11
<style>
.footer-link {
text-align: center;
padding: 1em 0;
}
</style>

<footer class="footer-link">
<a href="https://beian.miit.gov.cn/" rel="nofollow">豫ICP备88888888号</a>
</footer>

豫ICP备88888888号 修改为自己的备案号

常见问题

Request failed with status code 413

  • 说明:这个错误表明你尝试上传的文件大小超过了 Nginx 服务器的限制。
  • 解决方案:
    1. 修改 Nginx 的 client_max_body_size
      1
      2
      # 在 http、server 或 location 块中添加(位置不同,作用范围不同)
      client_max_body_size 100M; # 例如设置为 100MB,按需调整
      • 可以放在 httpserverlocation 块中,作用范围不同:
        • http 块:全局生效
        • server 块:仅对该域名生效
        • location 块:仅对特定路径生效(如 /api/fs/put
    2. 修改后重启 Nginx
      1
      2
      sudo nginx -t   # 测试配置是否正确
      sudo systemctl restart nginx # 重启生效(或使用 sudo service nginx restart)

客户端超时问题

如果上传大文件时超时,可能需要调整:

1
2
3
4
5
6
server {
client_max_body_size 100M;
client_body_timeout 300s; # 上传超时时间
proxy_read_timeout 300s; # 代理读取超时
proxy_connect_timeout 300s;
}

参考链接

本文结束 感谢您的阅读
正在加载今日诗词....