Report the build's own error and refuse daemons too old for BuildKit (closes #234)
Check / check (pull_request) Successful in 4m23s
Check / check (pull_request) Successful in 4m23s
A build whose output ends in Docker's error line now fails with that error, instead of going on to inspect a tag that was never created. The build output is written to the deployment log before the failure is recorded, so the log ends in order. Before building, upaas compares the daemon's API version with 1.39 (Docker Engine 18.09), the first that builds with BuildKit without experimental mode, and fails the deploy on an older daemon instead of letting it use the legacy builder. The README's Compose section gives the update command and the Docker Engine versions builds need. Disclosure: merged after a rebase that changed only TODO.md; the review gated this tree on the current next. Model: opus-5-5 Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
This commit was merged in pull request #245.
This commit is contained in:
@@ -245,7 +245,9 @@ Other settings from [Configuration](#configuration) go in the same file, except
|
||||
settings to 8080 and `UPAAS_DATA_DIR` to `/var/lib/upaas`, overriding `.env`, to
|
||||
match its port mapping, healthcheck and data directory mount. Then run
|
||||
`docker compose up -d` from the repo root; `docker compose ps` shows the
|
||||
container as healthy once `/health` answers.
|
||||
container as healthy once `/health` answers. To update, run `git pull` and then
|
||||
`docker compose up -d --build`: without `--build`, Compose keeps running the
|
||||
image built from the old checkout.
|
||||
|
||||
**Important**: `HOST_DATA_DIR` **must** be an **absolute path** on the host. It
|
||||
is bind-mounted into the container and passed as `UPAAS_HOST_DATA_DIR` so that
|
||||
@@ -261,6 +263,11 @@ 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`.
|
||||
|
||||
Building with BuildKit needs Docker Engine 18.09 or later; on an older engine,
|
||||
upaas fails the deploy instead of building. A Dockerfile that uses
|
||||
`RUN --network` needs Docker Engine 23.0 or later unless its `# syntax=` line
|
||||
names Dockerfile frontend 1.3 or later, such as `docker/dockerfile:1`.
|
||||
|
||||
Session secrets are automatically generated on first startup and persisted to
|
||||
`$UPAAS_DATA_DIR/session.key`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user