> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nerdit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy from GitHub

> Grant repository access and deploy a Git-backed app to an online machine.

<Note>
  GitHub deployment requires Pro and a configured GitHub integration. If the App says the integration is not enabled, the operator must enable it before this flow is available. GitHub sign-in alone does not grant repository access.
</Note>

First [connect an Engine](/app/connect-engine) and complete its [deployment prerequisites](/engine/quickstart). Your repository must be deployable by the Engine, and required application secrets must already be set on the machine.

<Steps>
  <Step title="Connect the GitHub App">
    Open [GitHub integration](https://app.nerdit.ai/integrations/github). Install the Nerdit GitHub App on the relevant GitHub account or organization and select the repositories it may access.
  </Step>

  <Step title="Choose machine access">
    Return to the GitHub page and review **Machine access**. Select the repositories the destination machine may clone. Keep this selection limited to the repositories that machine needs.
  </Step>

  <Step title="Open deployment">
    From the machine page, select **Deploy from GitHub**. Choose a repository and an online machine. If the repository is missing, review its GitHub App installation and the machine's repository access.
  </Step>

  <Step title="Set the deployment options">
    Enter a **Service name** using lowercase letters, digits, and dashes, between 1 and 63 characters. Set **Branch or tag**, or leave it blank for the default branch. Enable **Auto-deploy on push** only if you want pushes to the branch to redeploy the app.
  </Step>

  <Step title="Deploy and inspect the result">
    Submit the deployment. Review the returned outcome and hints, then follow the machine link to monitor the app. A started deployment still needs to finish building and become healthy.
  </Step>
</Steps>

Missing-secret warnings list names only. Set required values on the machine; the App does not edit them. For build failures, use the Engine's diagnostics and [App troubleshooting](/app/troubleshooting).

Later, use **Redeploy** or **Roll back** from the app's menu when available. See [Manage applications](/app/manage-apps) for their limits.
