最新开心版的 docker run --name=oo -i -t -d -p 9997:80 --restart=always -e JWT_ENABLED=false 186184848/documentserver:8.3.3 1.# 以 7.3.3 为例(旧版限制文件位置明 /mnt/sda1/docker] # docker run --name=oo -i -t -d -p 9997:80 --restart=always -e JWT_ENABLED=false 186184848/documentserver:8.3.3确) docker run -d --name onlyoffice-kx \ -p 8080:80 \ -e JWT_ENABLED=false \ -e JWT_SECRET= \ --restart=always \ onlyoffice/documentserver:7.3.3 2. 进入容器修改连接数上限 # 进入容器 docker exec -it --user root onlyoffice-kx bash # 安装编辑器 apt-get update && apt-get install -y vim # 修改常量文件 vim /var/www/onlyoffice/documentserver/server/Common/sources/constants.js 找到并改为: exports.LICENSE_CONNECTIONS = 9999; // 原值 20 exports.LICENSE_EDITION = 'opensource'; exports.LICENSE_MODE = 'light'; // 研究用可玩性更高 保存退出 :wq 3. 重启容器生效 4. 验证开心效果 并发测试:ab -n 100 -c 50 http://:8080/example/ 不再报 503 移动端:手机浏览器访问 http://:8080/example → 新建文档 → 可编辑 完全正确!用 -v 把文件挂到宿主机,改完保存立即生效,不用再 apt install vim,也省去 docker cp 的麻烦。示例: bash 复制 # 1. 先启动容器(不挂文件) docker run -d --name onlyoffice-kx \ -p 8080:80 \ -e JWT_ENABLED=false \ -e JWT_SECRET= \ --restart=always \ onlyoffice/documentserver:7.3.3 # 2. 把 constants.js 拷到宿主机备用(仅需一次) docker cp onlyoffice-kx:/var/www/onlyoffice/documentserver/server/Common/sources/constants.js ./constants.js # 3. 停掉旧容器,重新启动并挂载 docker stop onlyoffice-kx && docker rm onlyoffice-kx docker run -d --name onlyoffice-kx \ -p 8080:80 \ -e JWT_ENABLED=false \ -e JWT_SECRET= \ --restart=always \ -v $(pwd)/constants.js:/var/www/onlyoffice/documentserver/server/Common/sources/constants.js:ro \ onlyoffice/documentserver:7.3.3 然后用你熟悉的宿主编辑器(VS Code、vim、nano)直接改 ./constants.js: JavaScript 复制 exports.LICENSE_CONNECTIONS = 9999; exports.LICENSE_EDITION = 'opensource'; exports.LICENSE_MODE = 'light'; 保存后 重启容器 即可生效: bash 复制 docker restart onlyoffice-kx 全程无需再进容器,干净又快捷。 注意: 9.1 的代码结构已经大改,/var/www/onlyoffice/documentserver/server/Common/sources/constants.js 里 完全找不到 LICENSE_CONNECTIONS / LICENSE_EDITION / LICENSE_MODE 这三个符号。 它们被收进了 二进制核心模块 license.js(位于 server/Common/sources/license.js),该文件在 9.1 中: 源码被编译成 字节码(V8 snapshot),容器里只剩 license.js.snapshot 启动时由 Node 直接加载快照,文本常量不再暴露,vim 也看不到 20 这个数字 硬编码校验还加了 RSA 签名验证,单纯改数值会导致加载失败或立刻回滚到 Community 模式 因此 “直接改常量”这条路在 9.1 已失效;继续研究只有两条思路: 回退旧镜像(≤ 7.3)仍能用原方法 docker pull onlyoffice/documentserver:7.3.3 常量还在 constants.js,可正常改成 9999。 9.1 及以后 如非要解锁,只能: 自己编译 license.js 快照(需官方私钥,不可行) 或者 ptrace/Frida 挂运行时内存,属于逆向范畴,不再适合公开讨论 结论: 9.1 版无法再通过改 exports 实现“开心”,请锁定 7.3.3 及更早版本做研究。