refactor(docker): consolidated build into pi-base + pi-runtime stages

- Replaced the slim artifacts-only image with a full pi-base image (python + bun + rustup + natives + omp_rpc + omp shim).
- Moved robomp Dockerfile to repo root as Dockerfile.robomp, extending pi-base instead of copying from a scratch artifacts image.
- Renamed PI_ARTIFACTS_IMAGE to PI_BASE and updated all npm scripts and compose config accordingly.
- Split .dockerignore into per-Dockerfile shadows (Dockerfile.dockerignore, Dockerfile.robomp.dockerignore).
This commit is contained in:
can1357
2026-05-17 05:43:14 +02:00
parent 7b20915e20
commit b976d4d300
8 changed files with 242 additions and 221 deletions
+5 -4
View File
@@ -13,13 +13,14 @@ services:
build:
# pi root: gives the web-builder stage access to the workspace
# bun.lock + catalog (web/package.json refs `catalog:` versions).
# python/robomp/data is excluded via pi's .dockerignore.
# python/robomp/data and pi-root excludes are filtered via
# Dockerfile.robomp.dockerignore at the context root.
context: ../..
dockerfile: python/robomp/Dockerfile
dockerfile: Dockerfile.robomp
args:
# Tag of the pre-built artifacts image produced by `bun run robomp:pi-artifacts`
# Tag of the pre-built pi-base image produced by `bun run pi:image`
# (sources: pi root /Dockerfile). Override per-environment as needed.
PI_ARTIFACTS_IMAGE: oh-my-pi/artifacts:dev
PI_BASE: oh-my-pi/pi:dev
image: robomp:dev
container_name: robomp
# Phase B (graceful shutdown): gives the orchestrator at least