From 00ce8a7fa126b7a9f723424d0e102a6d7aadaa2b Mon Sep 17 00:00:00 2001 From: Joakim Persson Date: Thu, 30 Apr 2026 20:57:13 +0000 Subject: [PATCH] contrib: clarify when opencode-devbox bakes in the toolkit Previous wording claimed opencode-devbox "bakes it in via mempalace-toolkit" as if that were always true, but until opencode-devbox v1.14.30b the image only shipped the mempalace Python package, not the toolkit wrappers. Users following the *-devbox scheduler docs on earlier images would hit "mempalace-session: command not found" inside the container. Rewrite the precondition to: - Name the version where bake-in starts (v1.14.30b). - Link to the upstream INSTALL_MEMPALACE_TOOLKIT build arg. - Document the escape hatch for custom/older containers (./install.sh --yes) and flag its ephemeral nature, so nobody leans on the manual install as a long-term solution. Caught during 2026-04-30 runtime validation of the *-devbox systemd unit on a freshly-rebuilt container. --- contrib/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/README.md b/contrib/README.md index 4cb89df..ab20f71 100644 --- a/contrib/README.md +++ b/contrib/README.md @@ -203,7 +203,7 @@ If you run opencode inside a long-lived container like [opencode-devbox](https:/ Preconditions: - **Long-lived container.** `docker compose up -d` with `restart: unless-stopped` (or equivalent). If the container is ephemeral (per-invocation), this pattern doesn't apply. -- **`mempalace-session` is already installed inside the container.** opencode-devbox bakes it in via `mempalace-toolkit`, so a running devbox already satisfies this. +- **`mempalace-session` is already installed inside the container.** opencode-devbox bakes it in from `v1.14.30b` onward (see the [`INSTALL_MEMPALACE_TOOLKIT`](https://gitea.jordbo.se/joakimp/opencode-devbox#build-args) arg). For earlier images or custom containers without the toolkit installed, run `./install.sh --yes` from a `mempalace-toolkit` checkout inside the container first — the installer is idempotent and safe to re-run. Note that a manual install lives in the container's ephemeral layer and is lost on `docker compose up --force-recreate`, so the bake-in approach is the durable solution. - **Host user can talk to docker.** Member of the `docker` group on Linux, or Docker Desktop running under the current login session on macOS. - **Canonical container name is `opencode-devbox`.** If you renamed it via `container_name:` or docker-compose project naming, adjust `CONTAINER` in the template.