bl deploy
Build, push, and deploy your project to Blaxel
Synopsis
Deploy your Blaxel project to the cloud.
This command packages your code, builds a container image, and deploys it
to your workspace. The deployment process includes:
- Reading configuration from blaxel.toml
- Packaging source code (respects .blaxelignore)
- Building container image with your runtime and dependencies
- Uploading to Blaxel’s container registry
- Creating or updating the resource in your workspace
- Streaming build and deployment logs (interactive mode)
A blaxel.toml configuration file is required. By default, the command looks
for it in the current directory. Use -d to specify a subdirectory containing
the blaxel.toml (useful for monorepo setups).
If the blaxel.toml contains an ‘image’ field pointing to a registry image,
the platform will pull the image and transform it via metamorph before deploying.
For private registries, supply credentials via —registry-cred or —docker-config.
Interactive vs Non-Interactive:
- Interactive (default): Shows live logs and deployment progress with TUI
- Non-interactive (—yes or CI): Runs without interactive UI, suitable for automation.
Returns once the code is submitted: exit 0 means accepted, not deployed.
- Non-interactive with —wait: Waits for this build and rollout (up to —timeout)
and exits 1 with the cause, failing Dockerfile step, a short log tail and a next
command if it fails or times out. Interactive mode always waits.
With —wait and -o json (or yaml), a failure adds resources[].diagnostics (code,
phase, cause, step, source, logTail, next). An unchanged redeploy creates no new revision:
—wait reports that in resources[].note and exits 0. If no build starts within 3
minutes of the upload, —wait stops with DEPLOY_TIMEOUT instead of waiting for —timeout.
Environment Variables and Secrets:
Use -e to load .env files or -s to pass secrets directly via command line.
Secrets are injected into your container at runtime and never stored in images.
Monorepo Support:
Use -d to deploy a specific subdirectory, or -R to recursively deploy
all projects in a monorepo (looks for blaxel.toml in subdirectories).
Examples
Options
Options inherited from parent commands
SEE ALSO
- bl - Blaxel CLI - manage and deploy AI agents, sandboxes, and resources
Last modified on October 9, 2026