Quickstart · ~6 minutes

From git clone to a TLS URL.

Sign up, install the CLI, deploy the scaffold, point it at a custom domain. No DevOps required, no YAML to memorize, nothing to install on your servers — there are no servers.

01 — installGet the CLI.

The CLI ships with the djust framework. If you have djust in your Python env, you have it.

$ pip install djust
$ djust-deploy --version
djust-deploy 0.9.x

Don't have a project yet? Clone the scaffold:

$ git clone https://github.com/djust-org/djust-scaffold
$ cd djust-scaffold && make dev

02 — authenticateGet a token.

Sign up at djustlive.com, then open /dashboard/settings/. Reveal your API token and paste it back to the CLI:

$ djust-deploy login
Paste your token from /dashboard/settings/api-token/:
$ ********
✓ Stored at ~/.djustlive/credentials
Per-deployment service tokens The token you paste is your user-scoped token (used to trigger deploys). Each deploy mints a separate ServiceToken scoped to that deployment alone — your pods can't impersonate you across the platform API.

03 — deployShip it.

From your project root, point the CLI at the slug you registered on the dashboard:

$ djust-deploy deploy myapp
Tarball uploaded · 256 KB
[djustlive] Provisioning k8s · pvc · service · ingress
[djustlive] pip install · migrate · collectstatic
[djustlive] auto-detected ASGI: myapp.asgi:application
✓ activehttps://abcd-myapp.djustlive.app

That's it. The platform handles k8s resources, persistent storage, ASGI/WSGI auto-detection, TLS, and live deploy logs visible at /dashboard/projects/<id>/.

No Procfile required We auto-detect <project>/asgi.py (preferred — runs on daphne) or <project>/wsgi.py (wrapped via asgiref.WsgiToAsgi). Authoring a Procfile still wins if you want explicit control.

04 — custom domainBring your own hostname.

From /dashboard/projects/<id>/domains/, add a hostname. The dashboard returns a TXT record:

Type: TXT
Name: _djustlive-verify.app.example.com
Value: tH9k...x4Pq
TTL:  300

Drop the record in your DNS provider, click Verify. The next deploy creates a per-domain Ingress and cert-manager issues TLS via the existing letsencrypt-prod cluster issuer.

  • Multiple domains per project supported; one is primary.
  • Per-domain Ingress is independent of the default <slug>.djustlive.app subdomain — both keep working.

05 — scaleReplicas, when you need them.

On Pro/Team plans, your environment can have min_instances < max_instances. The platform attaches a HorizontalPodAutoscaler keyed to CPU utilisation. Plan-tier caps are enforced server-side via Environment.clean() and re-clamped at ensure_hpa call sites.

 /dashboard/projects/<id>/  · adjust min/max
// Pro tier max:  3 replicas
// Team tier max: 10 replicas

06 — cli referenceAll commands.

  • djust-deploy login — paste your token, store credentials.
  • djust-deploy deploy <slug> — tarball + upload + deploy.
  • djust-deploy logout — wipe stored credentials.

The CLI uses DJUST_SERVER if set; defaults to https://djustlive.com. For self-hosted instances, point it elsewhere.