【免费下载链接】DocumentServer
eo.sh 是 Euro-Office DocumentServer 仓库中自带的一个命令行工具,位于 develop/eo.sh。它只用一条命令就能并行运行多个相互隔离的文档测试服务器,每个实例都是独立的完整容器,互不干扰。对于需要同时验证多个分支或修改的开发者来说,这是一把真正的效率利器。
一个痛点:单台测试服务器不够用
在验证代码修改时,传统流程只能启动一套测试环境。本仓库的 develop/Makefile 配合 develop/docker-compose.yml 提供的是单实例的 Nextcloud 集成栈,适合交互式、集成式的调试。
但当你遇到下面的场景时,单一服务器就显得捉襟见肘:
- 想同时验证两个分支的修改,却只能反复停启、来回切换
- 想让AI 编码代理自动为每个分支起一台服务器跑构建、验证改动
- 想对比同一份代码的不同构建配置的产出
eo.sh正是为此而生:它允许你并行拉起多个一次性(throwaway)文档服务器,每个实例自带独立的 Postgres、Redis、RabbitMQ、Nginx 和 supervisord,没有共享状态,也无需完整构建。
60秒上手:一条命令启动隔离测试服务器
前提很简单:Docker 已安装,且你在 DocumentServer 的 git 检出目录内。然后:
./eo.sh up alpha脚本会自动完成以下事情:
- 基于预构建的多架构开发镜像
:latest-dev创建容器eo-alpha - 未指定端口时自动分配空闲主机端口(也可写成
./eo.sh up beta 9000固定端口) - 持续轮询
/healthcheck健康检查,直到服务器就绪 - 打印出可访问的 URL,包括内置示例应用和新建文档的直达链接
启动完成后,通过浏览器打开示例编辑器(/example/路径),用Create new → Document即可创建 docx/xlsx/pptx/pdf 各类文档进行验证。完整的命令说明见 eo.sh 的 usage 段落。
命令速查表:并行实例的日常管理
| 命令 | 作用 | 典型用途 |
|---|---|---|
./eo.sh up [--force] <名称> [端口] | 启动一个隔离实例,等待健康检查通过 | 为某个分支快速起一台服务器 |
./eo.sh build <名称> <目标> | 在容器内执行 make 构建目标 | 重建本地改动 |
./eo.sh exec <名称> [命令…] | 进入容器执行命令(默认 bash) | 手动排查、运行脚本 |
./eo.sh logs <名称> | 实时跟踪容器日志 | 定位启动失败原因 |
./eo.sh ls | 列出所有实例、状态、端口、挂载目录 | 多实例并存时的一览视图 |
./eo.sh down <名称>… \| --all | 停止并移除实例 | 验证完毕立即清理 |
💡 小技巧:
./eo.sh ls会显示每个实例的主机端口和挂载路径,并行跑三五个实例时也不会搞混哪台是哪台。
容器内构建:本地代码实时生效
每个实例都会把当前 git 工作树挂载到容器内的/develop目录,容器内的 make 目标直接重建你的本地改动,产物立即部署、必要时自动重启组件。
常用的构建目标包括:
web-apps-dev:前端快速重建(跳过 npm ci 和 imagemin,速度最快)sdkjs:构建编辑器核心 SDKserver/docservice:重建文档服务进程core/x2t、core/docbuilder:核心转换与构建组件
./eo.sh build alpha web-apps-dev构建完成后刷新浏览器即可看到改动。更多构建目标的完整清单见 develop/README.md 的 Development Builds 章节。
4 个让效率翻倍的实用提示
每个构建实例配一个独立的 git worktree多个实例如果挂载同一份工作树,并行构建会互相踩踏
node_modules。正确做法是为每个分支建一个 worktree,并在各自的 worktree 里执行./eo.sh up——这也是 AI 编码代理"一个分支一台服务器"的标准玩法。JWT 密钥默认共享,文档开箱即开实例默认启用 JWT 并使用统一的开发密钥(可通过环境变量
EO_JWT_SECRET覆盖),这正是内置示例应用能直接打开文档的原因。若你要直接调用 API 签发请求,使用同一密钥即可。用 EO_IMAGE 切换镜像,但必须是 -dev 镜像生产版
:latest镜像不含构建工具链,EO_IMAGE必须指向带-dev后缀的镜像,否则容器内构建会失败。这些是本地测试服务器,切勿暴露到公网出于便捷考虑,实例默认开启了示例应用与 WOPI 等开发特性,仅适合本地验证。
和单实例工作流如何分工?
| 场景 | 推荐方式 |
|---|---|
| 交互式调试、Nextcloud 集成测试、移动端/局域网设备测试 | make local/make mobile(单栈工作流) |
| 同时验证多个分支、多实例并行构建、代理自动化验证 | ./eo.sh(多实例并行) |
两种工作流共用同一个:latest-dev预构建镜像,可以随意组合使用。
延伸阅读
- 工具本体:eo.sh
- 完整的并行测试服务器说明:develop/README.md
- 单实例集成栈配置:develop/docker-compose.yml
- 开发环境入口与 Makefile 目标:develop/Makefile
掌握eo.sh之后,"改完代码 → 起服务器 → 验证 → 清理"的循环会以分支为粒度并行展开,这正是它在多人协作和 AI 辅助开发中不可替代的原因。
【免费下载链接】DocumentServer
相关推荐
构建本地隐私优先的屏幕记忆系统:Pensieve完全指南
构建本地隐私优先的屏幕记忆系统:Pensieve完全指南 你是否经常遇到"我记得看过这个但找不到"的情况?在数字工作流中,重要信息常常被遗忘在屏幕历史的角落。P
Docker-Android多设备并行测试终极指南:同时运行多个Android模拟器进行并发测试
Docker Android多设备并行测试终极指南:同时运行多个Android模拟器进行并发测试 🚀 想要在CI/CD流水线中同时运行多个Android模拟器
虚拟化测试开发工具mcp-for-beginners 实战:用 TypeScript 构建、运行并测试你的第一个 MCP 服务器
mcp for beginners 实战:用 TypeScript 构建、运行并测试你的第一个 MCP 服务器 本文聚焦于 mcp for beginners
教程文档人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考