joakimp aa3f4b7b90
Publish Docker Image / smoke (push) Failing after 1m17s
Publish Docker Image / publish (push) Has been skipped
Publish Docker Image / update-description (push) Has been skipped
smoke-test: keep baked entrypoint when probing runtime deployment
The previous `docker run -d --entrypoint="" ... sleep 60` bypassed the
entrypoint chain entirely, so entrypoint-user.sh never ran, so
pi-toolkit/install.sh never deployed keybindings + extensions to
~/.pi/agent/. Result: 4/14 smoke checks always failed.

Match opencode-devbox's pattern: `docker run -d --rm "$IMAGE" tail -f
/dev/null` keeps the entrypoint chain intact and overrides only CMD.
2026-05-15 00:52:14 +02:00
2026-05-14 19:57:17 +02:00
2026-05-14 19:57:17 +02:00
2026-05-14 19:57:17 +02:00
2026-05-14 19:57:17 +02:00
2026-05-14 19:57:17 +02:00
2026-05-14 19:57:17 +02:00

pi-devbox

A Docker container image with pi coding-agent pre-installed, built on the opencode-devbox base image.

What's inside

Built on opencode-devbox:base-latest, which provides:

  • Debian trixie (stable base)
  • Node.js (LTS), uv (Python), rustup (Rust on-demand)
  • AWS CLI v2
  • MemPalace + MCP server (persistent agent memory across sessions)
  • Gitea MCP server
  • Dev tools: neovim (LazyVim), tmux, bat, eza, fzf, zoxide, ripgrep, git-lfs, make
  • Shell: bash with history tuning, prefix-search, fzf/zoxide integration

This image adds:

  • pi (@earendil-works/pi-coding-agent) — baked at /usr/bin/pi
  • pi-toolkit — keybindings, env loader, settings template (cloned to /opt/pi-toolkit)
  • pi-extensions — ext-toggle, todo, ssh-controlmaster, notify, git-checkpoint, mcp-loader, confirm-destructive (cloned to /opt/pi-extensions)
  • mempalace bridgemempalace.ts extension symlinked from /opt/mempalace-toolkit

Quick start

cp .env.example .env
# edit .env — set WORKSPACE_PATH, GIT_USER_NAME, GIT_USER_EMAIL
docker compose run --rm devbox
# inside the container:
pi

Versioning

Tags follow the pi npm version: v0.74.0, v0.75.0, etc. latest always points at the most recent release.

Persistence

Volume What it holds
devbox-pi-config pi settings, extensions toggle state, sessions (~/.pi/)
devbox-shell-history bash history
devbox-zoxide zoxide directory jump history
devbox-nvim-data neovim plugins, Mason packages
devbox-uv uv Python installs and tool cache

User-installed pi packages

NPM_CONFIG_PREFIX is set to /home/developer/.pi/npm-global, so any pi install npm:... or npm install -g as the developer user lands on the devbox-pi-config volume and survives container recreation and image rebuilds. A user-installed pi wins over the baked binary via PATH order.

Source

S
Description
pi coding-agent container built on opencode-devbox base
Readme 248 KiB
Languages
Shell 76.3%
Dockerfile 23.7%