Build apps with BuildKit so build stages stop piling up (closes #220)
Check / check (pull_request) Skipped

The classic builder left an untagged image for every step of every
stage of a multi-stage build. BuildKit keeps stages in Docker's build
cache, which Docker keeps under a size limit on its own. BuildKit
reports progress as encoded trace messages, so these are decoded with
BuildKit's own library and written to the deployment log as plain text.
The README notes that engines older than 28.2 need build cache cleanup
turned on in daemon.json.

Model: opus-5-5
This commit is contained in:
2026-09-23 10:32:40 +00:00
parent a60ea144fb
commit a0c59aa25e
6 changed files with 295 additions and 15 deletions
+5
View File
@@ -253,6 +253,11 @@ container.
Example: `HOST_DATA_DIR=/srv/upaas/data docker compose up -d`
Apps are built with BuildKit, so the stages of a multi-stage build are kept in
Docker's build cache rather than as untagged images. Docker Engine 28.2 and
later keeps that cache under a size limit by default; on older engines, set
`"builder": {"gc": {"enabled": true}}` in the host's `daemon.json`.
Session secrets are automatically generated on first startup and persisted to
`$UPAAS_DATA_DIR/session.key`.