# Applications

> Deploy and manage web applications on Tarout

# Applications

Applications are the core resource on Tarout. Each application is a deployed web service built from a GitHub or GitLab repository, an uploaded folder, or a public Docker Hub image.

## How Applications Work

When you deploy an application, Tarout:

1. Fetches your code from the source you chose (GitHub, GitLab, an upload, or a Docker Hub image).
2. Detects your framework and configures build settings.
3. Builds your application in a container.
4. Deploys the container to the shared pool or your dedicated server.
5. Assigns a `*.tarout.app` subdomain with SSL.
6. For GitHub and GitLab sources, redeploys on every push to your branch.

## Application Tiers

| Tier | Description | Billing |
|------|-------------|---------|
| **Shared Pool** | Runs on Tarout's managed infrastructure. Best for most apps. | Free plan: 1 app. Paid plans are a flat monthly subscription: Starter (19 SAR/month, 5 apps) or Business (49 SAR/month, 10 apps plus one Starter database). |
| **Dedicated Server** | Runs on a server provisioned exclusively for your organization. | Monthly subscription: Pro Small, Medium, or Large (399, 849, or 1599 SAR/month). |

Shared plans are not billed per hour or per app. The price stays the same however many of your included apps are running.

## Application Lifecycle

- **Creating** - Application is being set up.
- **Running** - Application is deployed and serving traffic.
- **Stopped** - Application is stopped and not serving traffic. It still counts toward your plan's app limit, so delete an app you no longer need to free its slot.
- **Error** - Deployment failed. Check logs for details.

## Git Integration

Tarout supports automatic deployments from:

- **GitHub** - Via GitHub App integration.
- **GitLab** - Via webhook integration.

For apps connected to one of these, every push to the configured branch triggers a new deployment automatically. Apps deployed from an upload or a Docker Hub image redeploy only when you deploy them again.

## Learn More

- [Create an App](https://tarout.sa/docs/applications/create)
- [Environment Variables](https://tarout.sa/docs/applications/environment-variables)
- [Custom Domains](https://tarout.sa/docs/applications/domains)

---

## 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
