pending or in progress indefinitely.
Stuck in “pending”
The deployment was created but never starts. Logs show only the queue entry, not a clone or build.Cause 1: No build slot available
Each plan grants a fixed number of concurrent builds. If yours are all busy, new deployments queue. Confirm: Open Deployments for the project. If other deployments (in this project or other projects under the same plan) are inin progress, they’re holding the slot.
Fix:
- Wait for an in-progress deployment to finish.
- Cancel an in-progress deployment if you don’t need it: open the deployment in the dashboard and click Cancel.
- Upgrade your plan for more concurrent builds.
Cause 2: Build minutes exhausted (free plan)
On the free plan, when monthly build minutes are gone, new builds queue indefinitely instead of overage-billing. Confirm: Open Billing → Usage. If build-minute usage is at 100%, you’re capped. Fix: Upgrade the plan, or wait for the cycle to roll over.Cause 3: Region in maintenance
If the region is temporarily not accepting deployments, builds queue until it’s back. Confirm: Open the region status under Settings → Region, or check status.brimble.io. Fix: Wait for the region to come back, or move the project to a different region.Cause 4: Project disabled (payment past due)
If the account’s billing has been failing for over 7 days, builds are disabled. The deployment is created but won’t run. Confirm: A banner in the dashboard says “billing issue” or similar. Status:inactive.
Fix: Update the payment method under Billing → Payment methods, then click Redeploy.
Stuck in “in progress”, clone phase
Logs show a clone-attempt line and stop.Cause 1: Repository unreachable
Your Git provider is down or your token expired. Confirm: Check the Git provider’s status page. Fix: Re-authorize Brimble’s Git provider connection under Account settings → Git providers.Cause 2: Submodule clone hanging
Your repo has submodules that point to URLs Brimble can’t reach (private hosts, broken URLs). Confirm: Logs show “cloning submodule” with no progress. Fix: Either remove the submodule, or change its URL to one Brimble can authenticate against (HTTPS with the same credentials).Stuck in “in progress”, install or build phase
Logs are silent, or a single command is running indefinitely.Cause 1: Network-bound install
A package manager is fetching a large dependency over a slow link, or hanging on a registry that’s not responding. Confirm: The last log line is something like “fetching”, “downloading”, or “resolving”. No progress for 5+ minutes. Fix: Click Cancel and Redeploy. If it hangs again on the same package, the issue is upstream, try a different version, vendor the dependency, or pin to a registry mirror.Cause 2: Build script with no output
Your build command runs but writes nothing to stdout for a long time. Brimble doesn’t kill silent builds. Confirm: No log output for several minutes. The build is “running” but nothing’s visible. Fix: Add periodic progress logging in your build:Cause 3: Out-of-memory thrashing
Your build is using too much memory and the builder is paging or thrashing instead of OOMing. Confirm: Build slows to a crawl after a fast start. Fix: Reduce memory pressure (smaller bundle, build flags likeNODE_OPTIONS=--max-old-space-size=2048), or bump the project’s compute size temporarily for the build.
Stuck in “in progress”, health check phase
Build succeeded, container started, but Brimble never marks it active.Cause 1: App not listening on $PORT or 0.0.0.0
Your code listens on a hardcoded port, or binds to 127.0.0.1 instead of all interfaces. The edge can’t reach it either way.
Fix: Read process.env.PORT and bind to 0.0.0.0. See Application failed to respond for per-framework start commands.
Cause 2: Health check path returns non-2xx
The default health check isGET /. If your / returns 404, 500, or anything outside 2xx/3xx, the check fails.
Fix: Either add a / route, or set the health check path to a working endpoint under Settings → Configuration, or in brimble.toml:
brimble.toml
Cause 3: App takes too long to start
Brimble’s health check has a startup timeout. If your app takes 60+ seconds before listening, the check times out. Fix: Reduce startup time. Common culprits: heavy DB queries on boot, downloading large model files at startup, JIT warming. Move the slow work to a background task that runs after the app is listening, or pre-bake the data at build time.Cancel a stuck deployment
Click Cancel on the deployment in the dashboard. Cancelling moves the deployment tocancelled. The previous active deployment stays in place.
Force a fresh deployment
If a stuck deployment seems caused by a transient issue:- Cancel it.
- Click Redeploy on the latest successful deployment to confirm the project still works.
- Push a new commit, or click Redeploy with the latest commit, to retry.
When to contact support
Open a ticket if:- A deployment has been in
in progressfor more than 30 minutes with no log progress. - Cancelling doesn’t move the deployment out of
in progresswithin a few minutes. - Repeated deployments hang at the same phase, even after cache clearing and redeploys.
Next steps
- Build failures, for deployments that fail with an error.
- 502 errors, for deployments that go active but don’t serve traffic.
- Deployments, the full lifecycle and what each phase does.