Files
pi-devbox/docker-compose.yml
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

74 lines
2.2 KiB
YAML

# pi-devbox docker-compose
#
# Usage:
# cp .env.example .env # configure your keys
# docker compose up -d
# docker compose exec -u developer devbox pi
#
# Or for interactive one-shot:
# docker compose run --rm devbox
name: pi-devbox
services:
devbox:
image: joakimp/pi-devbox:latest
# To build from source instead of pulling from Docker Hub:
# build:
# context: .
# args:
# # Pin a specific pi-only build instead of tracking latest-pi-only:
# BASE_IMAGE: "joakimp/opencode-devbox:v1.15.13-pi-only"
container_name: pi-devbox
stdin_open: true
tty: true
env_file:
- .env
environment:
- TERM=xterm-256color
- GITEA_ACCESS_TOKEN=${GITEA_ACCESS_TOKEN:-}
- GITEA_HOST=${GITEA_HOST:-}
- GITHUB_PERSONAL_ACCESS_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN:-}
volumes:
# Host workspace — mount your project here
- ${WORKSPACE_PATH:-.}:/workspace
# SSH keys (read-only) — for git push/pull
- ${SSH_KEY_PATH:-~/.ssh}:/home/developer/.ssh:ro
# Optional: mount skillset repo for automatic skill/instruction deployment.
# - ${SKILLSET_PATH}:/home/developer/skillset
# Persist pi config (settings.json, extensions, sessions, auth)
- devbox-pi-config:/home/developer/.pi
# Persist bash history across container recreations
- devbox-shell-history:/home/developer/.cache/bash
# Persist zoxide directory history
- devbox-zoxide:/home/developer/.local/share/zoxide
# Persist neovim plugin/Mason data
- devbox-nvim-data:/home/developer/.local/share/nvim
# Persist uv data (Python installs, tool installs)
- devbox-uv:/home/developer/.local/share/uv
# Optional: persist MemPalace data (conversation memory, knowledge graph)
# - devbox-palace:/home/developer/.mempalace
# Optional: persist ChromaDB embedding model cache (~79 MB)
# - devbox-chroma-cache:/home/developer/.cache/chroma
# Optional: AWS credentials/SSO config
# - ~/.aws:/home/developer/.aws
volumes:
devbox-pi-config:
devbox-shell-history:
devbox-zoxide:
devbox-nvim-data:
devbox-uv:
# devbox-palace:
# devbox-chroma-cache: