Files
pi-devbox/Dockerfile
T
pi 1d1283f942 refactor: FROM opencode-devbox:latest-pi-only (lean, no opencode)
Re-point the re-brand at the new pi-only variant instead of with-pi, so
pi-devbox stays a lean pi-focused image (no opencode) while the pi install
logic still lives in one place upstream. This keeps pi-devbox meaningfully
distinct from opencode-devbox:latest-with-pi.

- Dockerfile: BASE_IMAGE default -> joakimp/opencode-devbox:latest-pi-only.
- smoke-test.sh: size threshold 2900 -> 2750 MB (pi-only = with-pi minus
  opencode's ~145 MB binary).
- Docs (README/AGENTS/DOCKER_HUB/CHANGELOG/docker-compose): drop the
  'also contains opencode' notes; describe pi-only basis and the distinction
  from with-pi.

Publish ordering unchanged: release opencode-devbox first so latest-pi-only
carries the target pi version, then tag here (smoke asserts pi --version).
2026-06-03 16:14:05 +02:00

31 lines
1.5 KiB
Docker

# pi-devbox — pi coding-agent container
#
# As of 2026-06-03 this image is a thin re-brand of the opencode-devbox
# "pi-only" variant, which is the SINGLE SOURCE OF TRUTH for the pi install
# and its companion repos (pi-toolkit, pi-extensions, pi-fork,
# pi-observational-memory). Previously pi-devbox/Dockerfile duplicated that
# install logic, which drifted from opencode-devbox/Dockerfile.variant; this
# refactor eliminates the duplication.
#
# The "pi-only" variant is built with INSTALL_OPENCODE=false, so this image
# does NOT contain opencode — it stays a lean, pi-focused image, distinct
# from opencode-devbox:latest-with-pi (which carries both).
#
# Everything is inherited from the pi-only image:
# pi + pi-toolkit + pi-extensions + pi-fork (fork) + pi-observational-memory
# (recall), the mempalace bridge, the LAN-access helper, entrypoints, and
# all base dev tooling.
#
# NOTE on PUBLISH ORDERING: rebuild opencode-devbox (so `latest-pi-only`
# carries the target pi version) BEFORE tagging this repo. The smoke test
# asserts `pi --version` matches this repo's tag and fails loudly if the
# base is stale — turning the version coupling into an enforced ordering check.
#
# Override BASE_IMAGE to pin a specific pi-only build (e.g. a version tag or a
# digest) instead of tracking latest-pi-only.
ARG BASE_IMAGE=joakimp/opencode-devbox:latest-pi-only
FROM ${BASE_IMAGE}
# WORKDIR / ENTRYPOINT / CMD and all tooling inherited from the base.
# No additional layers — the value here is the single-source-of-truth refactor.