Getting Started

This page gets you from zero to a running app. Pick the Dashboard path (clicks) or the API path (curl). They do exactly the same thing.

0. What you need

  • An account. Accounts are provisioned by the platform admin. If you don’t have one, ask the admin to create it (npm run create-admin -- you@example.com <password>).
  • The dashboard: https://app.cynchro.cloud
  • The API base: https://api.cynchro.cloud

  1. Open https://app.cynchro.cloud and log in with your email + password.
  2. In Deploy an app, keep the Docker image tab selected.
  3. Fill in:
    • App name: hello (lowercase letters, numbers, dashes)
    • Docker image: nginxdemos/hello
    • Container port: 80
  4. Click Deploy. You’ll see Queued → https://hello.cynchro.cloud.
  5. Wait ~5–15 seconds, then open https://hello.cynchro.cloud. 🎉

That’s it. The app shows up in the APPS list with Logs / Restart / Stop / Delete.


Path B — API (curl)

1. Log in to get an access token

API=https://api.cynchro.cloud

TOKEN=$(curl -s -X POST $API/auth/login \
  -H 'content-type: application/json' \
  -d '{"email":"you@example.com","password":"your-password"}' \
  | python3 -c 'import sys,json; print(json.load(sys.stdin)["accessToken"])')

echo "$TOKEN"   # a JWT; valid ~15 min (refresh with /auth/refresh)

2. Deploy an app

curl -s -X POST $API/deploy \
  -H "authorization: Bearer $TOKEN" \
  -H 'content-type: application/json' \
  -d '{"name":"hello","image":"nginxdemos/hello","port":80}'

Response:

{
  "appId": "….",
  "deploymentId": "….",
  "domain": "hello.cynchro.cloud",
  "status": "queued",
  "url": "https://hello.cynchro.cloud"
}

3. Check it’s live

curl -I https://hello.cynchro.cloud      # expect HTTP/2 200

What just happened

  • The API created an app named hello in your org and queued a deployment.
  • The worker pulled nginxdemos/hello and started a container with default limits (1 CPU, 512 MB).
  • Traefik issued a real Let’s Encrypt cert and routed https://hello.cynchro.cloud.

Next steps


This site uses Just the Docs, a documentation theme for Jekyll.