c139be326f
pi-devbox no longer installs pi itself. The Dockerfile is now a thin FROM joakimp/opencode-devbox:latest-with-pi (overridable via BASE_IMAGE), inheriting pi + pi-toolkit + pi-extensions + pi-fork (fork) + pi-observational-memory (recall) + the LAN-access helper + all base tooling from the single source of truth. Eliminates the install-logic duplication that drifted against opencode-devbox/Dockerfile.variant (decision #3). Consequences (documented in CHANGELOG/AGENTS): - The image now ALSO contains opencode (with-pi has INSTALL_OPENCODE=true). A leaner pi-only image would need a dedicated pi-only variant upstream. - Publish ordering: release opencode-devbox first so latest-with-pi carries the target pi version, THEN tag this repo. The smoke test asserts pi --version matches the tag (EXPECTED_PI_VERSION) and fails loudly if the base is stale — turning the version coupling into an enforced ordering guard. CI: drop PI_VERSION build-arg (Dockerfile installs nothing); keep tag->version resolution to feed the smoke base-freshness guard. Smoke adds fork/recall clone + node_modules + settings.json registration checks; size threshold 2200 -> 2900 MB (now tracks with-pi). Docs updated across README, AGENTS, DOCKER_HUB, .env.example, docker-compose.
31 lines
1.6 KiB
Docker
31 lines
1.6 KiB
Docker
# pi-devbox — pi coding-agent container
|
|
#
|
|
# As of 2026-06-03 this image is a thin re-brand of the opencode-devbox
|
|
# "with-pi" 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.
|
|
#
|
|
# Everything is inherited from the with-pi 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.
|
|
#
|
|
# NOTES / consequences of FROM-ing with-pi:
|
|
# - This image now ALSO contains opencode (with-pi has INSTALL_OPENCODE=true).
|
|
# If a leaner pi-only image is wanted later, add a dedicated pi-only variant
|
|
# to opencode-devbox and FROM that instead.
|
|
# - PUBLISH ORDERING: rebuild opencode-devbox (so `latest-with-pi` 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 with-pi build (e.g. a version tag or a
|
|
# digest) instead of tracking latest-with-pi.
|
|
ARG BASE_IMAGE=joakimp/opencode-devbox:latest-with-pi
|
|
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.
|