Manage apps
An app is the unit of deployment on Dina. Each app has:
- A name (like
my-app), which you choose when you create it. - A public URL, assigned automatically.
- A history of deployments — every time you push new code.
- Its own environment variables and custom domains.
This page covers managing the apps themselves. For pushing code, see Deploy an app.
Create an app
dina apps create my-app
The name can contain letters, numbers, and hyphens. The CLI prints the app’s URL once it’s created. That URL is live immediately, but shows a placeholder until you deploy code to it.
List your apps
dina apps list
You’ll see a table with each app’s name, URL, and creation date. For a machine-readable version:
dina apps list --output json
Inspect a single app
dina apps info --app my-app
You’ll see:
- Identifying info (name, ID, URL, owner, namespace).
- Creation and last-update timestamps.
- Any custom domains attached to the app.
- The most recent deployment — its status, port, replicas, and image.
Add --output json for scripts.
Rename an app
dina apps update --app old-name --name new-name
The --app flag says which app to change; --name is the new name. The app’s URL is derived from its name, so renaming also moves the default URL.
Pointing your visitors at a custom domain (see Custom domains) insulates them from rename-induced URL changes.
Delete an app
Deleting an app is permanent. It removes the app, its deployments, environment variables, and custom domain bindings. This cannot be undone.
dina apps delete --app my-app
The CLI prompts you to type the app’s name to confirm. This is intentional: typing the name on purpose is much harder to do by accident than pressing “y”.
For scripts or one-liners where you’ve already confirmed, skip the prompt with --force:
dina apps delete --app my-app --force
--force deletes immediately with no prompt. Use it only in scripts where you're certain, or when you've just listed the app and want to skip the second confirmation.Appendix: what counts as a command being “app-scoped”
Most apps subcommands take a --app flag (or -a for short). You’ll see this pattern across the CLI:
dina apps logs --app my-app
dina apps env set --app my-app DATABASE_URL=...
dina apps hostnames add --app my-app api.example.com
You can always type dina apps --help to see the full list.