packages/cloud-frontend/content/containers.mdx
import { Callout, Steps, Cards } from "@/docs/components";
Deploy custom Docker images on Eliza Cloud managed container infrastructure.
<div className="status-badge status-beta">Beta</div>Container deployment provides:
project_name as the stable deployment identifier.health_check_path and update status.curl -X POST "https://www.elizacloud.ai/api/v1/containers" \
-H "Authorization: Bearer $ELIZA_CLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "my-service",
"project_name": "my-service",
"image": "ghcr.io/acme/my-service:latest",
"port": 3000,
"cpu": 256,
"memory": 512,
"desired_count": 1,
"health_check_path": "/health",
"environment_vars": {
"NODE_ENV": "production"
}
}'
Push to a registry that Cloud nodes can pull from, such as GHCR, Docker Hub, or your private registry.
Send image, project_name, port, resources, and any environment_vars.
Poll GET /api/v1/containers/{id} until data.status is running or failed.
For app projects, patch the Eliza Cloud app app_url and allowed_origins to the running container URL.
</Steps>
{
"name": "my-service",
"project_name": "my-service",
"image": "ghcr.io/acme/my-service:latest",
"port": 3000,
"cpu": 256,
"memory": 512,
"desired_count": 1,
"health_check_path": "/health",
"environment_vars": {
"PORT": "3000",
"ELIZA_APP_ID": "uuid-abc123"
}
}
| Field | Description |
|---|---|
name | Human-readable container name. |
project_name | Stable project identifier used for deployment records and project-scoped volumes. |
image | Full image reference pulled directly by the container backend. |
port | Application port. Default: 3000. |
cpu | CPU units used for API compatibility and billing. Default: 256. |
memory | Memory in MB. Default: 512. |
desired_count | Currently must be 1. |
health_check_path | HTTP health path. Default: /health. |
environment_vars | String key/value environment variables. |
Daily container billing calculates hosting cost and, when payAsYouGoFromEarnings is enabled for the organization, debits the owner's redeemable earnings first. Any remainder falls through to organization credits.
When earnings-first billing is off, hosting bills come only from credits and earnings remain available for token cashout.
/health route.desired_count at 1.project_name; project-scoped persistent data is keyed by organization and project name.ELIZA_APP_ID to your container and patch the Cloud app URL after deploy.