> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elizaos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy to Eliza Cloud

> Ship your agent with a single command - infrastructure and monitoring handled for you

## Why Eliza Cloud?

You built an agent. Now you need it running 24/7, accessible from anywhere, with proper monitoring.

The traditional path: write a Dockerfile, configure cloud infrastructure, set up load balancing, create CI/CD pipelines, manage SSL certificates, configure health checks...

**With Eliza Cloud: two commands.**

```bash theme={null}
elizaos login
elizaos deploy --project-name my-agent
```

That's not a simplified example. That's the entire deployment process.

<CardGroup cols={3}>
  <Card title="5 minutes" icon="clock">
    From code to production URL
  </Card>

  <Card title="Zero config" icon="wand-magic-sparkles">
    No infrastructure setup needed
  </Card>

  <Card title="Built for elizaOS" icon="microchip">
    Optimized for agent workloads
  </Card>
</CardGroup>

Beyond deployment: on-chain agent discovery (ERC-8004), crypto payments (X402), and a marketplace to publish and monetize your agents.

***

## Quick Start

<Steps>
  <Step title="Sign up">
    Create your account at [elizacloud.ai](https://elizacloud.ai)
  </Step>

  <Step title="Login from CLI">
    ```bash theme={null}
    elizaos login
    ```

    Opens your browser for auth. Your API key is saved automatically.
  </Step>

  <Step title="Deploy">
    ```bash theme={null}
    elizaos deploy --project-name my-agent
    ```

    First deploy: \~5 min. Updates: \~2 min.
  </Step>
</Steps>

<Tip>
  **That's it.** You now have a production agent at `https://{userId}-{project-name}.containers.elizacloud.ai`
</Tip>

***

## What You Get

Every deployment includes:

<CardGroup cols={2}>
  <Card title="Dedicated EC2 Instance" icon="server">
    Your own t4g.small ARM server, not shared resources
  </Card>

  <Card title="HTTPS by Default" icon="lock">
    SSL certificates handled automatically
  </Card>

  <Card title="Health Monitoring" icon="heart-pulse">
    24/7 checks with automatic alerting
  </Card>

  <Card title="Zero-Downtime Updates" icon="rotate">
    Push updates without interruption
  </Card>

  <Card title="Persistent URL" icon="link">
    Same URL across all deployments
  </Card>

  <Card title="Real-time Logs" icon="terminal">
    `elizaos containers logs --follow`
  </Card>
</CardGroup>

Under the hood, the CLI builds your Docker image, pushes it to AWS ECR, and deploys to a dedicated EC2 instance with load balancing configured.

## Customize Your Deployment

The defaults work for most agents. When you need more control:

### Add Environment Variables

```bash theme={null}
elizaos deploy \
  --project-name my-agent \
  --env "OPENAI_API_KEY=sk-xxx" \
  --env "DATABASE_URL=postgresql://..."
```

### Scale Resources

```bash theme={null}
elizaos deploy \
  --project-name my-agent \
  --cpu 512 \
  --memory 1024 \
  --desired-count 2  # Multiple instances
```

| Option | Default | Description |
| - | - | - |
| `--cpu` | 1792 | CPU units (1792 = 1.75 vCPU) |
| `--memory` | 1792 | Memory in MB (1792 = 1.75 GiB) |
| `--desired-count` | 1 | Number of container instances |
| `--port` | 3000 | Container port |

### Update Your Agent

Same command, zero downtime:

```bash theme={null}
elizaos deploy --project-name my-agent
```

The CLI detects it's an update and rolls out changes without interruption.

***

## Managing Deployments

### View Your Agents

```bash theme={null}
elizaos containers list
```

### Check Logs

```bash theme={null}
# Real-time logs
elizaos containers logs --follow

# Last 200 lines
elizaos containers logs --tail 200
```

### Remove a Deployment

```bash theme={null}
elizaos containers delete --project-name my-agent
```

## Troubleshooting

### Login Issues

**"Browser didn't open"**

```bash theme={null}
elizaos login --no-browser
```

**"Authentication timed out"**

```bash theme={null}
elizaos login --timeout 600
```

**"API key not found after login"**

* Ensure you ran `elizaos login` from your project directory
* Check `.env` for `ELIZAOS_CLOUD_API_KEY`
* Verify the key starts with `eliza_`

### Deployment Issues

**"Docker not running"**

Start Docker Desktop, then verify with `docker info`.

**"API key invalid"**

* Check you copied the full key (starts with `eliza_`)
* Verify: `echo $ELIZAOS_CLOUD_API_KEY`

**"Build failed"**

* Ensure your project has a `Dockerfile`
* Check Docker has enough resources (Settings → Resources)
* Try: `docker build .`

**"Deployment stuck"**

* Check logs: `elizaos containers logs --project-name my-agent`
* Verify you have credits in your account

## CLI Reference

### Authentication

| Command | Description |
| - | - |
| `elizaos login` | Authenticate (opens browser) |
| `elizaos login --no-browser` | Authenticate without browser |
| `elizaos login --timeout 600` | Custom timeout (seconds) |

### Deployment

| Command | Description |
| - | - |
| `elizaos deploy --project-name <name>` | Deploy with project name |
| `elizaos deploy --api-key <key>` | Deploy with explicit API key |
| `elizaos deploy --port <port>` | Set container port (default: 3000) |
| `elizaos deploy --cpu <units>` | Set CPU units (default: 1792) |
| `elizaos deploy --memory <mb>` | Set memory in MB (default: 1792) |
| `elizaos deploy --desired-count <n>` | Set instance count (default: 1) |
| `elizaos deploy --env "KEY=VALUE"` | Add environment variable |
| `elizaos deploy --skip-build` | Skip Docker build |
| `elizaos deploy --platform <arch>` | Set Docker platform |

### Container Management

| Command | Description |
| - | - |
| `elizaos containers list` | List all deployments |
| `elizaos containers list --json` | List as JSON |
| `elizaos containers logs` | View logs |
| `elizaos containers logs --follow` | Follow log output |
| `elizaos containers logs --tail <n>` | Show last N lines |
| `elizaos containers delete` | Delete deployment |
| `elizaos containers delete --force` | Delete without confirmation |

## Environment Variables

The CLI looks for API keys in this order:

1. `--api-key` flag (if provided)
2. `ELIZAOS_API_KEY` environment variable
3. `ELIZAOS_CLOUD_API_KEY` environment variable
4. `ELIZAOS_CLOUD_API_KEY` in project `.env` file

The `elizaos login` command writes to `ELIZAOS_CLOUD_API_KEY` in your project's `.env` file.

## Next Steps

<CardGroup cols={2}>
  <Card title="TEE Integration" icon="shield-halved" href="/guides/tee-integration">
    Deploy with Trusted Execution Environment for enhanced security
  </Card>

  <Card title="Self-Hosted Options" icon="server" href="/guides/deploy-a-project#option-2-self-hosted">
    Full control with your own infrastructure
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.