# Push a Docker image and deploy it.

> Install the Agent Lab CLI, sign in, and docker push to your organization's registry, then deploy the image on Agent Lab. Commands, image rules, CLI vs MCP.

Web page: https://agentlab.cresclab.com/en/deploy/cli  
繁體中文 (Markdown): https://agentlab.cresclab.com/deploy/cli.md

Agent Lab CLI · Crescendo Agent Lab Deploy

The Agent Lab CLI signs you in and lets docker push to your organization's container registry. Push the image you built, then deploy it as a new version of a project.

[Jump to the commands](https://agentlab.cresclab.com/en/deploy/cli#steps) [Start free](https://app.agentlab.cresclab.com/?lang=en&intent=deploy)

A terminal: install the Agent Lab CLI from npm, sign in, let docker use the sign-in, then build and push an image to the organization's registry.

Commands

## Install, sign in, push, deploy

Replace <org-id> with your organization's ID. The console's Image registry page shows these commands with it filled in.

1. 1
   ### Install the CLI
   ```
   npm install --global @crescendolab/agentlab-cli@alpha
   agentlab --version
   ```
   Install the CLI from npm. It needs Node.js 24 or later and runs on macOS, Linux and Windows, on x64 and arm64. It is an alpha release, so commands may still change.
2. 2
   ### Sign in and set up Docker
   ```
   agentlab login
   agentlab auth configure-docker
   agentlab status
   ```
   agentlab login opens your browser to sign in and choose an organization. agentlab auth configure-docker then makes docker use that sign-in for the registry, with no docker login.
3. 3
   ### Build and push the image
   ```
   docker build --platform linux/amd64 -t registry.agentlab.cresclab.com/<org-id>/web:v1 .
   docker push registry.agentlab.cresclab.com/<org-id>/web:v1
   ```
   Build for linux/amd64, the only platform projects run on, and push it under your organization's ID.
4. 4
   ### Deploy it
   On the project's Deploy tab, choose An image under Deploy a new version from, then pick the repository and tag. A project's first version goes live once it is ready; after that, select Go live.
   Building from source instead? See [Deploy from a Dockerfile](https://agentlab.cresclab.com/docs/en/deploy/container-app).

Image contract

## What the image must do

The same rules apply to an image you push and to one built from a Dockerfile.

RUNTIME

### Port, user, platform

- Serve HTTP on `$PORT`: the port in the project's settings, else the one port the image exposes, else 8080.
- An image with no non-root `USER` runs as uid 10001, group 0.
- `linux/amd64` only; a push for another platform is refused.
- A `CMD` or `ENTRYPOINT` starts the server.
- The filesystem is read-only apart from `/tmp`.

CLI

### Commands

- `agentlab login [--org <uuid>]` signs in through your browser.
- `agentlab auth configure-docker` makes docker use the sign-in for the registry.
- `agentlab status` shows the account, organization and token expiry.
- `agentlab logout` signs out and removes this machine's saved sign-in.

Every rule and notice: [Container runtime contract](https://agentlab.cresclab.com/docs/en/deploy/runtime-contract). CLI install details: [the package on npm](https://www.npmjs.com/package/@crescendolab/agentlab-cli).

CLI or MCP

## Two ways in, one platform

The MCP server is for deploying from an AI tool. The CLI is for Docker images you build yourself.

The Agent Lab CLI compared with the Agent Lab MCP server

|  | Agent Lab CLI | Agent Lab MCP server |
| --- | --- | --- |
| Use it when | You already build a Docker image, by hand or in CI | You ask Claude Code, Codex or Cursor to deploy |
| What it sends | A built image, pushed with docker | Source files, built on the platform |
| Sign-in | agentlab login in the browser | OAuth in the browser, from the AI tool |
| Install | npm package (alpha) | One command per AI tool; nothing to install |

FAQ

## Before you push

**How do I install the Agent Lab CLI?**

Run npm install --global @crescendolab/agentlab-cli@alpha. It needs Node.js 24 or later and works on macOS, Linux and Windows, on x64 and arm64. Go is not required.

**Do I need docker login?**

No. Run agentlab login, then agentlab auth configure-docker once, and docker pushes as you. For CI, create a robot token in the console's deploy settings and use it with docker login.

**What address do I push to?**

registry.agentlab.cresclab.com/<org-id>/<name>:<tag>, where <org-id> is your organization's ID. The console's Image registry page shows the full command.

**Can I push an arm64 image from an Apple silicon Mac?**

Projects run on linux/amd64 only, and a push for another platform is refused. Build with docker build --platform linux/amd64.

**Which plans include the container registry?**

Pro, Team and Business; the Free plan doesn't include it. The plans page lists how many image versions and how much storage each plan keeps. [Plans and pricing](https://agentlab.cresclab.com/en/deploy#pricing)

**How is the CLI different from the MCP server?**

The MCP server lets an AI tool such as Claude Code or Codex deploy your source for you. The CLI is for when you build the Docker image yourself and push it. [Set up the MCP server](https://agentlab.cresclab.com/en/mcp)
