docs/getting-started.md
Rama main · réplica de lectura del repositorio original.
---
description: Connect a server and deploy your first application.
---
# Your first deployment
You need a devpush dashboard, a Linux server you administer and a GitHub repository containing a Compose file. [Install devpush](/docs/self-hosting/) if you do not have a dashboard yet.
For a first test, use the [example app](https://github.com/hunvreus/devpush/tree/main/examples/compose-web): service `web`, port `3000`, health path `/health`.
## 1. Connect a server
In your team, open **Servers → Add server**. Run the generated command on the server and wait for **Connected**. Only owners and admins can enroll servers.
Keep the command private: its enrollment credential expires after one hour. The server needs inbound ports 80/443 for public applications. See [Servers](/docs/servers/) for requirements.
## 2. Create a project
Choose **New project**, connect your GitHub account if prompted and grant the GitHub App access to the repository. Select the repository, server and Compose file.
Add required variables and a health check path, then create the project. This saves the configuration without deploying. Production uses the repository's default branch.
devpush suggests a route when the Compose file has an unambiguous HTTP target. Confirm its service and internal port in **Settings → Routes**, or add one if none was suggested. Without a route, the app has no managed public URL. You can also change the health check path later in **Settings → Build & Deploy**.
## 3. Deploy
Open **Deployments → Deploy**, select the environment, branch and commit, then follow its logs. When it succeeds, choose **Visit**.
A push to the environment's branch deploys again automatically. GitHub webhooks require a publicly reachable dashboard; localhost supports manual deployments only.
## Troubleshooting
| Problem | Check |
| --- | --- |
| Missing repository | GitHub App installation and your repository access. |
| Installer cannot download the agent | [Agent release availability](/docs/agent-releases/) and installer output. |
| Disconnected server | Installer output and the agent's access to the dashboard. |
| Failed deployment | Build logs, required variables and Compose health checks. |
| App unreachable | Route service/port, DNS and inbound ports 80/443. |
Next: [environments](/docs/projects/), [custom domains](/docs/domains/) or [backups](/docs/backups/).