Deploy a Docker Image on Varity
If your app is already packaged as a Docker image, you can deploy it to Varity directly. No repository, no build step. Varity pulls the image and runs it.
This is also the path for languages Varity does not auto-detect yet (Rust, Ruby, Java, and others): package your app as a runnable HTTP service image and deploy it like any other container.
varitykit app deploy --image nginx:latestPublic and private Docker/OCI images are supported when the image starts a runnable HTTP service on the configured port.
Three Ways to Deploy an Image
Section titled “Three Ways to Deploy an Image”Pass an image reference instead of a project directory:
varitykit app deploy --image ghcr.io/acme/my-api:1.4.2If your app listens on a port other than the image’s default, set it explicitly:
varitykit app deploy --image ghcr.io/acme/my-api:1.4.2 --port 8080For images in a private registry, supply credentials:
varitykit app deploy \ --image registry.example.com/acme/my-api:1.4.2 \ --image-registry registry.example.com \ --image-username my-user \ --image-password my-password- Open developer.store.varity.so/dashboard/deploy
- Select the Docker image tab
- Enter the image reference (for example
ghcr.io/acme/my-api:1.4.2) and, optionally, the container port - For a private image, add the registry host, username, and password or secret value
- Click deploy
If you have the Varity MCP server installed in Claude Code, Cursor, or another AI coding tool, the varity_deploy tool accepts an image parameter (plus optional port and image_credentials for private registries). Just ask:
“Deploy the Docker image ghcr.io/acme/my-api:1.4.2 on Varity”
Public vs. Private Registries
Section titled “Public vs. Private Registries”Public registries
Section titled “Public registries”Public images from Docker Hub, GHCR, and similar registries are supported from the CLI, MCP, and Developer Portal.
Private registries
Section titled “Private registries”Private images are supported in all three deploy paths:
- CLI: pass
--image-registry,--image-username, and--image-password - MCP: set
image_credentials - Developer Portal: fill in the registry credential fields
What Happens After Deploy
Section titled “What Happens After Deploy”- Varity pulls your image and starts it on dynamic compute hosting
- The deployment gets a name derived from the image (override with
--name) - Image deploys run as dynamic apps, so your app is reachable at
https://<name>.varity.app/(https://varity.app/<name>redirects there) - Billing starts as one flat monthly cost for the reserved hardware. It does not change with traffic
Delete a Deployment
Section titled “Delete a Deployment”When you are done, delete the deployment to stop billing:
varitykit app delete <name>You can also delete from the Developer Portal. Deleting an app stops its billing immediately.