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

# Deploy your first project

> Connect a source, review the detected settings, and deploy your first project on Pxxl.

Deploy a project from the Pxxl dashboard. Choose where your code lives, review the settings Pxxl finds, and follow the deployment log until your URL is ready.

<Note>
  You need a Pxxl account. For GitHub, install the Pxxl GitHub App and give it access to the repositories you want to deploy. Some source options require a paid plan.
</Note>

<Steps>
  <Step title="Open Deploy">
    Sign in at [pxxl.app](https://pxxl.app), open the dashboard, and choose **Deploy**. The flow keeps source selection, configuration, and logs on one page.
  </Step>

  <Step title="Choose a source">
    Select GitHub, GitLab, Pxxl Drop, a Docker source, a template, or an imported project. The next step changes to match the source you chose.
  </Step>

  <Step title="Select the project">
    Choose a repository, upload the source, enter an image, or choose a template. For Git sources, select the branch and let Pxxl inspect the repository before you continue.
  </Step>

  <Step title="Review the configuration">
    Pxxl fills in the detected language, framework, package manager, base directory, and commands. Check the project name, environment, domain, port, environment variables, services, and optional resource settings. You can edit the detected values before deploying.
  </Step>

  <Step title="Deploy and follow the log">
    Submit the deployment. Pxxl queues the work, shows the build output in the same flow, and finishes by publishing the project route. Open the URL when the status changes to deployed.
  </Step>
</Steps>

## Deployment sources

| Source | Use it for |
| - | - |
| **GitHub** | Connect a repository and deploy future commits. |
| **GitLab** | Connect a GitLab project and select a branch. |
| **Pxxl Drop** | Upload a local archive or static build from your device. |
| **Docker image** | Run a prebuilt image from Docker Hub or another registry. |
| **Dockerfile** | Build an image from your own container instructions. |
| **WordPress** | Launch a managed WordPress installation. |
| **Import projects** | Move an existing provider project into Pxxl. |
| **Templates** | Start with a maintained Pxxl application template. |

## What to check

### Web services

Your server should listen on <code>\$PORT</code> and bind to <code>0.0.0.0</code>. Pxxl uses the port and start command from the review step to check the service before publishing its route.

### Static Apps

Static Apps do not need a running server. A plain static repository needs an <code>index.html</code> or <code>index.htm</code> in the selected base directory. PHP projects use the PHP runtime instead. A built frontend needs to produce its static output during the build.

Read [Project Types](/projects/project-types) for the difference between a Web Service and a Static App.

### Monorepos

Set the base directory to the folder that contains the service. For a repository with more than one deployable directory, follow [Multiple Services and Monorepos](/deploy/multiple-services) to configure separate aliases, ports, commands, and routes.

## After you submit

Pxxl records the deployment, chooses a build server, and streams the task log to the dashboard. A Web Service is checked for health before its route is published. A Static App is uploaded to Pxxl Edge and served without a runtime container.

## Next steps

* [Supported Stacks](/projects/supported-stacks) shows what Pxxl detects and the defaults it can prepare.
* [How Pxxl Builds](/projects/how-pxxl-builds) explains the path from source to a live route.
* [Domains](/domains/overview) explains how to connect a custom domain.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.