03629cdac7
The pi-only building block now lives in this repo as the internal base-pi-only tag (produced by opencode-devbox CI from Dockerfile.variant, INSTALL_OPENCODE=false) instead of opencode-devbox:latest-pi-only — so an 'opencode-devbox' tag never ships without opencode. - Dockerfile: BASE_IMAGE default joakimp/opencode-devbox:latest-pi-only -> joakimp/pi-devbox:base-pi-only. - Updated README, AGENTS, DOCKER_HUB, docker-compose, CHANGELOG. - Single source of truth unchanged (opencode-devbox/Dockerfile.variant); publish ordering + EXPECTED_PI_VERSION smoke guard unchanged.
36 lines
2.0 KiB
Docker
36 lines
2.0 KiB
Docker
# pi-devbox — pi coding-agent container
|
|
#
|
|
# As of 2026-06-03 this image is a thin re-brand of the "pi-only" build, which
|
|
# is the SINGLE SOURCE OF TRUTH for the pi install and its companion repos
|
|
# (pi-toolkit, pi-extensions, pi-fork, pi-observational-memory). That build is
|
|
# produced by opencode-devbox's CI (from opencode-devbox/Dockerfile.variant
|
|
# with INSTALL_OPENCODE=false), but is published as an INTERNAL building-block
|
|
# tag in THIS repo — joakimp/pi-devbox:base-pi-only — NOT under opencode-devbox.
|
|
# Rationale: an "opencode-devbox" tag containing no opencode confuses
|
|
# opencode-devbox users, so the pi-only artifact lives here instead.
|
|
# Previously pi-devbox/Dockerfile duplicated the install logic, which drifted
|
|
# from opencode-devbox/Dockerfile.variant; this refactor eliminates the dup.
|
|
#
|
|
# The pi-only build uses 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 build:
|
|
# 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 `base-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.
|
|
#
|
|
# base-pi-only is an internal building-block alias (existence-only, not for
|
|
# end users — pull joakimp/pi-devbox:latest or a vX.Y.Z tag instead). Override
|
|
# BASE_IMAGE to pin a specific pi-only build (a version tag or a digest).
|
|
ARG BASE_IMAGE=joakimp/pi-devbox:base-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.
|