Deploy a Docker Image
The simplest way to ship something: point the platform at any image on a public registry (Docker Hub, GHCR, etc.) and it runs it behind HTTPS.
Examples assume
API=https://api.cynchro.cloudand a$TOKENfrom Getting Started.
Dashboard
- Deploy an app → Docker image tab.
- App name + Docker image + Container port.
- (Optional) CPU, Memory, custom Domain.
- Deploy.
API
curl -s -X POST $API/deploy \
-H "authorization: Bearer $TOKEN" -H 'content-type: application/json' \
-d '{
"name": "hello",
"image": "nginxdemos/hello",
"port": 80
}'
Fields
| Field | Required | Default | Notes |
|---|---|---|---|
name | ✅ | — | DNS-safe: a–z, 0–9, -. Unique per org. Redeploying updates in place. |
image | ✅* | — | Any pullable image, e.g. ghcr.io/acme/api:1.2.3. |
port | 80 | The port your container listens on inside the container. | |
domain | <name>.<ROOT_DOMAIN> | Custom hostname (see below). | |
cpu | 1 | Cores (e.g. 0.5). Max 8. | |
memory | 512 | MB. Min 64, max 16384. | |
env | {} | Inline environment variables (encrypted at rest). | |
envFrom / secretFiles | — | Reference Secrets by name. |
* One of image, repo, or services is required.
Environment variables
Inline values (stored encrypted):
-d '{"name":"api","image":"acme/api:1.0","port":3000,
"env":{"LOG_LEVEL":"info","FEATURE_X":"on"}}'
For credentials and shared config, prefer Secrets over inline env.
Custom domains
By default your app is at https://<name>.<ROOT_DOMAIN> (e.g. https://hello.cynchro.cloud). To use your own hostname:
- Point DNS for that hostname at the server’s IP first (an
Arecord). - Pass it as
domain:
-d '{"name":"site","image":"acme/site:1.0","port":80,"domain":"www.mydomain.com"}'
The cert is issued on first request via Let’s Encrypt HTTP-01 — DNS must resolve before that works. domain must be a valid hostname (no spaces/special chars).
Updating / redeploying
Deploy the same name again with a new image tag — it’s idempotent and updates the running container. Quotas only count new apps, so redeploys are always allowed.
→ Manage it: Managing Apps · Build from source instead: Deploy from Git