Skip to content

feat(develop): parallel test servers via eo.sh#186

Open
juliusknorr wants to merge 2 commits into
mainfrom
feat/eo-parallel-test-servers
Open

feat(develop): parallel test servers via eo.sh#186
juliusknorr wants to merge 2 commits into
mainfrom
feat/eo-parallel-test-servers

Conversation

@juliusknorr

@juliusknorr juliusknorr commented Jun 15, 2026

Copy link
Copy Markdown
Member

Adds develop/eo.sh to run multiple isolated DocumentServer test instances in parallel from the prebuilt multi-arch :latest-dev image, no full docker build required. Useful for quickly verifying submodule changes (incl. by coding agents) and for testing several branches/worktrees at once.

Each instance is a single self-contained container (its own Postgres/Redis/RabbitMQ/Nginx/supervisord) that mounts the current git working tree at /develop, so the existing in-container make targets rebuild local changes in place.

eo.sh up [--force] <name> [port]   # start; auto host port; waits for /healthcheck; prints URLs
eo.sh build <name> <make-target>   # web-apps-dev | sdkjs | server/docservice | core/x2t | …
eo.sh exec <name> [cmd…]           # shell/command inside (TTY-aware)
eo.sh logs <name>                  # follow logs
eo.sh ls                           # instances with status, port, URL, mount path
eo.sh down <name>… | --all         # stop & remove

Instances run with JWT enabled (shared dev secret), EXAMPLE_ENABLED and WOPI_ENABLED, so the bundled example app works and documents open. up prints create-new editor URLs for all document types.

Also corrects a stale develop/README.md note (a multi-arch :latest-dev incl. arm64 is published, so make pull works on Apple Silicon) and documents the new workflow.

Verification

  • Multiple instances run concurrently on distinct auto-assigned ports; healthchecks pass; example editor opens a document end-to-end.
  • eo.sh build … web-apps-dev runs a real in-container build and reloads nginx.
  • bash -n + shellcheck clean; kept bash 3.2 compatible (macOS system bash).

Run multiple isolated, self-contained DocumentServer instances from the
prebuilt multi-arch :latest-dev image — no full docker build. Each instance
mounts the current working tree at /develop so in-container make targets
rebuild local changes; up/build/exec/logs/ls/down manage the lifecycle.

Also corrects the stale develop/README.md note about arm64 dev images (a
multi-arch :latest-dev is published) and documents the workflow.

Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: Julius Knorr <jus@bitgrid.net>
Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: Julius Knorr <jus@bitgrid.net>
@juliusknorr juliusknorr marked this pull request as ready for review June 16, 2026 07:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 📄 To do

Development

Successfully merging this pull request may close these issues.

1 participant