# Domains and settings

The **Settings** tab of an app.

## Domains

Each app gets an address like `uptime-kuma-o3k9x2a.dudbox.app`. Add more names on `dudbox.app` under **Domains**: type the first part (like `shop`) and click **Add**. HTTPS is ready within a few seconds. An app keeps at least one domain.

Your own domain (like `myapp.com`) is coming soon.

## Port and health check

- **Port**: the port your app listens on. dudbox sets `PORT` to it. One-click apps have a fixed port.
- **Health check path**: a path like `/api/health`. A new version goes live only when this path answers with a status below 400. Without one, dudbox checks only that the port answers.

Both apply on the next deploy.

## Release command

For apps from GitHub. A command that runs once on every deploy, before the new version starts, like `npx prisma migrate deploy` or `pnpm db:migrate`. Put database migrations here, not in the start command: then they run once per deploy instead of on every restart, and a slow migration does not use up the 60 seconds of the health check.

Type it under **Release command** and click **Save**. To remove it, clear the field and click **Save**. It applies on the next deploy.

- It runs with `sh -c` in a new container of the new version, with the app's env vars and volumes, and reaches the app's databases as the app does. `&&` works: `pnpm db:migrate && pnpm db:seed`.
- Its output is in the deploy's **Release command** step (Deployments, then click the deploy).
- The live version keeps running meanwhile. An app with a volume stops first, because two versions must not write to one volume, so it is down while the command runs.
- It may take up to 10 minutes. If it fails (an exit code other than 0) or takes longer, the deploy fails and the live version keeps running.
- It runs on every deploy: new commits, redeploys and rollbacks. Migration tools only apply what is new, so running them again is safe.
- If the command works but the new version then fails its health check, the old version runs again, on the changed database. Write migrations the old version can live with, like adding a column before the code that uses it.

## GitHub

Connect a repo, a branch and a folder, so every push deploys. **Disconnect** stops that; the live version keeps running. See [Apps from GitHub](/docs/github.md).

## Delete the app

At the bottom of Settings. Type the app's name to confirm. The app stops, and its address stops working. This cannot be undone.
