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
Dockerfilewill work. Don’t have one handy? Any small project with apackage.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
- Set environment variables like database URLs and API keys.
- Attach a custom domain so visitors hit
app.yourcompany.cominstead ofdina.run. - Let Claude Code deploy for you by installing the agent skills.
- Or read the full command reference.