# Deploy Your First App

> Deploy an application on Tarout in under 5 minutes

# Deploy Your First App

This tutorial walks you through deploying a Next.js application. The same flow works for any supported framework.

## Supported Frameworks

Tarout auto-detects and configures builds for:

- Next.js
- React (Vite, CRA)
- Vue.js / Nuxt
- Node.js / Express
- Python / Django / Flask
- Go
- Rust
- Static sites (HTML/CSS/JS)
- Docker (custom Dockerfile)

## Create the Application

### From the Dashboard

1. Navigate to **Applications** in the sidebar and start a new application.
2. Choose a plan, then enter a name (optional) and a description (optional).
3. Click **Create Application**. Tarout opens the new app's page without deploying anything yet.
4. On the **General** tab, select **GitHub** or **GitLab** as the source, then choose your repository and branch.
5. Click **Deploy**. Tarout detects your framework and configures the build automatically.

### From the CLI

```bash
# Install the CLI
npm install -g @tarout/cli

# Login, or let deploy prompt you when no local session exists
tarout login

# Deploy from your project root
cd your-project
tarout deploy --wait
```

Before creating resources, the CLI inspects the project for database, file storage, and Git usage. If it finds a database or storage dependency, it prompts with that resource selected by default. If it finds Git, it asks whether to upload the current folder or use an already configured Git provider source.

## Monitor the Deployment

After creating the application, you can watch the deployment in real-time:

- **Dashboard** - The deployment logs stream live in the application detail page.
- **CLI** - Use `tarout deploy --wait` to follow the logs in your terminal.

## Build Settings

Tarout configures these automatically, but you can customize them on the app's **Settings** tab, in the **Build & Output Settings** card:

| Setting | Description | Example |
|---------|-------------|---------|
| Framework Preset | Framework used for the build, or auto-detect | Auto-detect |
| Build Command | Command to build your app | `npm run build` |
| Start Command | Command to start your app | `npm start` |
| Install Command | Command to install dependencies | `npm install` |
| Root Directory | Directory containing your app | `/` or `/apps/web` |
| Output Directory | Directory with the built files, for static sites | `dist` |

## After Deployment

Your app is now live at `https://your-app.tarout.app`. From here you can:

- [Add environment variables](https://tarout.sa/docs/applications/environment-variables)
- [Connect a custom domain](https://tarout.sa/docs/applications/domains)
- [Set up a database](https://tarout.sa/docs/databases)

---

## Every Tarout agent guide

- [Start Here (Agents)](https://tarout.sa/docs/for-ai/start.md)
- [Overview](https://tarout.sa/docs/for-ai.md)
- [Deploying an app](https://tarout.sa/docs/for-ai/deploy.md)
- [Databases](https://tarout.sa/docs/for-ai/database.md)
- [Object storage](https://tarout.sa/docs/for-ai/storage.md)
- [Custom domains](https://tarout.sa/docs/for-ai/domains.md)
- [Plans and upgrades](https://tarout.sa/docs/for-ai/billing.md)
- [Troubleshooting](https://tarout.sa/docs/for-ai/troubleshoot.md)
- [Agent Onboarding](https://tarout.sa/docs/for-ai/onboarding.md)
- [CLI Reference](https://tarout.sa/docs/for-ai/cli-reference.md)
- [CLI JSON Schema](https://tarout.sa/docs/for-ai/cli-json-schema.md)

Whole corpus in one file: https://tarout.sa/llms-full.txt · index: https://tarout.sa/llms.txt
Any docs page is raw markdown at the same URL + `.md`. Short link to the entry point: https://tarout.sa/deploy.md
