Registries

Connect private Docker registries to pull private images
View as MarkdownOpen in Claude

A registry is a set of encrypted Docker registry credentials stored in Modbox. When a sandbox image references a private registry, Modbox uses these credentials to pull the image at provision time.

Supported registries

Any Docker-compatible registry works:

  • Docker Hubregistry-1.docker.io
  • GitHub Container Registryghcr.io
  • Google Artifact Registry{region}-docker.pkg.dev
  • AWS ECR{account}.dkr.ecr.{region}.amazonaws.com
  • Azure Container Registry{name}.azurecr.io
  • Self-hosted — any registry that supports Docker auth

Create a registry credential

$POST /registries
$X-Workspace-Id: your-workspace-id
$
${
> "name": "GitHub Container Registry",
> "server": "ghcr.io",
> "username": "your-github-username",
> "password": "ghp_your_personal_access_token",
> "email": "you@yourcompany.com"
>}

Passwords are encrypted at rest using AES-256. They are never returned by the API — only the registry ID, name, server, and username are exposed.

List registries

$GET /registries
$X-Workspace-Id: your-workspace-id

Passwords are never included in the response.

When creating or updating a sandbox image, pass the registry_id:

$POST /sandbox-images
$X-Workspace-Id: your-workspace-id
$
${
> "name": "Our Private App",
> "image": "ghcr.io/your-org/your-image",
> "tag": "latest",
> "registry_id": "uuid-of-your-registry"
>}

Modbox will use the stored credentials to pull the image when provisioning sandboxes with this image.

Update registry credentials

To rotate credentials (e.g. after a token expiry):

$PUT /registries/{registry_id}
$
${
> "password": "new_token_here"
>}

Only the fields you include will be updated.

Delete a registry

$DELETE /registries/{registry_id}

Deleting a registry will cause any images linked to it to fail to pull. Update the linked images to use a different registry first.

Registry fields

FieldTypeDescription
idUUIDRegistry credential ID
namestringHuman-readable name
serverstringRegistry server URL (e.g. ghcr.io)
usernamestringDocker registry username
emailstringOptional — required by some registries
enabledbooleanWhether this registry is active
passwordNever returned by the API