OpenList 中文文档 下载 App

config.json 关键字段速查:改配置必须重启的规矩

站点级配置(端口、数据库、JWT、协议开关)都在 data/config.json 里。改完必须重启 OpenList 才生效——这条纪律适用每一个字段。

文件在哪

安装方式位置
Windows / macOS 手动程序目录下的 data/config.json
Linux 一键脚本/opt/openlist/data/config.json
Docker映射出来的 data 目录里(如 /etc/openlist/data/config.json)
OpenWrtluci 插件在网页里改;其他同手动安装

高频字段速查

字段作用
site_url站点对外地址;子目录反代、直链相关功能需要它
scheme.http_portWeb 端口,默认 5244
scheme.https_port / cert_file / key_file站内直接上 HTTPS 的三件套(也可走反代)
token_expires_in登录令牌有效期,默认 48 小时
jwt_secret令牌签名密钥,首次启动自动生成,泄露需重置
database.type数据库类型:默认 sqlite3,可换 mysql / postgres
max_concurrency全站并发协程上限,默认 64
log.*日志开关、路径、滚动大小(默认单文件 50MB)
tasks.*各类后台任务(上传 / 复制 / 离线下载等)的并发数与重试次数
ftp.enable / sftp.enableFTP / SFTP 服务 的总开关
s3.enable / s3.portS3 服务 的总开关与端口(默认 5246)
mcp.enableMCP 服务开关,供 AI 工具接入
force设为 true 后忽略环境变量、强制读配置文件

环境变量优先级

程序默认优先从环境变量读配置(Docker 部署常用 -e 传参,且镜像内默认加了 --no-prefix,变量名不用带 OPENLIST_ 前缀)。发现「配置文件改了不生效」时,先怀疑环境变量覆盖了它——要么删掉对应环境变量,要么把 force 设为 true。

数据库什么时候要换

SQLite 默认引擎对个人站完全够用;以下情况换 MySQL / Postgres:

换库改 database 段并重启即可,首次启动自动建表;老数据迁移按 备份与恢复 的数据库法子走。