View Markdown

Quick start

This page takes you from a fresh terminal to a running app on a public URL. It should take about two minutes.

Before you start

You’ll need:

  • The Dina CLI installed. If you don’t have it yet, see Install.
  • A folder containing the app you want to deploy. Any app with a Dockerfile will work. Don’t have one handy? Any small project with a package.json, requirements.txt, or similar will do for practice.

Check the CLI is ready:

dina version

You should see something like dina 0.2.0. If the command isn’t found, revisit the install page.

1. Sign in

dina auth login

The CLI opens your browser so you can approve the connection. Once you’re back in the terminal, you should see a message confirming you’re signed in.

No browser available (you’re on a server over SSH, for example)? The CLI automatically falls back to a device code flow: it prints a short code and a URL you can open on any other device.

2. Create an app

An app is the thing that runs your code. It has a name, a public URL, and settings like environment variables and custom domains.

Create one:

dina apps create my-first-app

You’ll get back a URL that looks like https://my-first-app.dina.run. Visiting it now shows a placeholder — your code isn’t deployed yet.

3. Deploy your code

From inside the folder with your app’s source code:

dina deploy --app my-first-app --wait

The --wait flag tells the CLI to stay attached until the deployment finishes, so you see exactly when it’s live.

Under the hood, the CLI zips up the current folder, uploads it, and builds a container image. When the build finishes, the app goes live on the URL from step 2.

If you already have a container image published somewhere, skip the upload and deploy the image directly:

dina deploy --app my-first-app --tag ghcr.io/you/my-first-app:v1 --wait

4. Check it worked

Open the URL in your browser, or ask the CLI:

dina apps info --app my-first-app

This prints the app’s current state: its URL, the active deployment, port, replica count, and any custom domains.

Want to follow the live logs?

dina apps logs --app my-first-app

What to do next