Common Issues

This article covers common problems you may encounter when using Bahriya and how to resolve them.

Updated 8 Jun 20264 min read

This article covers common problems you may encounter when using Bahriya and how to resolve them.

Container stuck in "Provisioning"

Symptoms: Your container stays in the "Provisioning" state for longer than a few minutes.

Possible causes:

  • The container image cannot be pulled. Check that the image reference is correct (including the tag) and that registry credentials are configured if the image is private.
  • The region you selected may be experiencing temporary capacity constraints.

What to do:

  • Verify the image name and tag are correct.
  • If using a private registry, check that the registry credentials are correct and deployed to the same regions as the container.
  • Wait a few minutes — some deployments take longer during peak usage.
  • If the problem persists, contact support.

Container keeps restarting

Symptoms: The container starts but then restarts repeatedly.

Possible causes:

  • Your application is crashing on startup (e.g. missing environment variable, database connection failure).
  • The health check path is returning an error or the endpoint does not exist.
  • The bootstrap time is too short for your application to finish initialising.

What to do:

  • Check your application logs for crash messages or stack traces.
  • Verify the health check path exists in your application and returns a 2xx response.
  • Increase the bootstrap time if your application takes a while to start (e.g. loading large datasets, running migrations).
  • Ensure all required environment variables and secrets are attached to the container.

Image pull errors

Symptoms: Deployment fails with an image pull error.

Possible causes:

  • The image reference is wrong (typo in the name or tag).
  • The image does not exist in the registry (it may have been deleted or the tag was overwritten).
  • Registry credentials are missing, expired, or incorrect.
  • The registry is configured but not deployed to the same regions as the container.

What to do:

  • Double-check the full image reference, including the registry URL and tag.
  • Verify the image exists by pulling it locally: docker pull <image>.
  • Check that registry credentials are correct and deployed to all regions where the container runs.

Custom domain not working

Symptoms: Your custom domain shows a browser error, certificate warning, or does not resolve.

Possible causes:

  • DNS records have not propagated yet.
  • The DNS record type is wrong (e.g. A record instead of CNAME).
  • The CNAME target is incorrect.
  • A CDN or proxy (e.g. Cloudflare) is intercepting the TLS certificate provisioning.

What to do:

  • Check DNS propagation with dig <your-domain> or an online DNS checker.
  • Verify you created the correct record type for your DNS mode (CNAME for round-robin/geo, A records for none mode).
  • If using Cloudflare or another proxy, temporarily disable proxying to allow certificate provisioning, then re-enable it.
  • Wait up to 48 hours for DNS propagation in some cases, though most changes take effect within minutes.

Rate limiting not taking effect

Symptoms: You enabled rate limiting but clients are not being throttled.

What to do:

  • Changes take effect on the next deployment cycle. If you just enabled rate limiting, wait a minute for the deployment to complete.
  • Verify that rate limiting is enabled and the per-minute or per-hour values are set (not just the toggle).

Secrets not available in container

Symptoms: Your application cannot find environment variables that should come from a secret.

Possible causes:

  • The secret is not attached to the container.
  • The secret is not deployed to the same regions as the container.
  • The secret was updated but the container has not been redeployed.

What to do:

  • Check the container settings to verify the secret is attached.
  • Verify the secret is deployed to all regions where the container runs.
  • Trigger a redeployment by updating the container (e.g. change the image tag) to pick up the latest secret values.

Autoscaling not working

Symptoms: Your container is not scaling up under load, or not scaling down when load decreases.

Possible causes:

  • Autoscaling is not enabled on the container.
  • The target CPU or memory percentage is set too high (e.g. 100%), so the threshold is never reached.
  • The container is already at its maximum replica count.

What to do:

  • Verify autoscaling is enabled with appropriate min/max replica counts.
  • Set a realistic target (70-80% CPU is a common starting point).
  • Check that your container's resource requests are appropriate — if you request too much CPU, utilisation will appear low even under load.