Environment
- Operating system
- Ubuntu 24.04.5 LTS (GitHub Actions ubuntu-24.04 runner, image 20261004.327.1)
- Runs on
- GitHub Actions hosted runner
- Versions
- Docker Engine 28.0.4Docker Compose 2.38.2Open WebUI v0.11.4Ollama 0.40.2
The versions are those recorded for run 38256885780. The failing run, 38210088287, ran the same workflow on the same runner label.
Symptom
In runtime-verify run 38210088287, the target open-webui__default__caddy failed with up-wait-failed: docker compose up --wait returned an error because the open-webui container was unhealthy. Five other apps in the same run passed.
The container itself kept running and turned healthy once the app answered, so the failure was transient.
Root cause
The Open WebUI image (v0.11.4) defines its own HEALTHCHECK with Docker's defaults: a 30-second interval, 3 retries and no start period. A first start on an empty volume (database migrations, the embedding model) can take more than about 90 seconds, so three failed probes mark the container unhealthy before the app is up.
docker compose up --wait waits for every service to be running or healthy, and treats unhealthy as a failure.
Fix
Give the image's HEALTHCHECK a start period without replacing its test: a Compose healthcheck block with start_period only. Docker keeps the image's test, interval, timeout and retries. Failed probes during the start period don't count, and a probe that passes earlier makes the container healthy at once.
ANAROQ's Open WebUI template sets start_period: 120s since profile version 1.2.0. In run 38256885780 all eight Open WebUI runs reached healthy in about 30 seconds, including default__caddy.
Commands
services:
open-webui:
image: ghcr.io/open-webui/open-webui:v0.11.4
healthcheck:
start_period: 120sdocker compose up -d --waitdocker inspect --format '{{json .State.Health}}' <container>Evidence
open-webui__default__caddy up-wait-failed (open-webui: unhealthy)open-webui 8 runs (default, extra-model-true × 4 exposure modes) 8/8 passed profileVersion 1.2.0Related tools and pages
Sources
How profiles and verified Compose files are built is described in the methodology. Read the methodology