# How do I deploy my first app on Dokploy?

https://www.seturack.com/en/knowledgebase/article/how-do-i-deploy-my-first-app-on-dokploy

1. In the panel, open **My servers** and click your server.
2. On the **Overview** tab, wait for the **App** row to say "Dokploy is ready". The page refreshes itself.
3. Open the HTTPS link in the **Panel address** row and enter the details from the **Email** and **Password** rows.

## Your first app

1. On the **Projects** page, press **Create Project**, then add an **Application** with **Create Service**.
2. In the app's **Provider** section, choose **Git**. Enter the **Repository URL**, **Branch** and, if needed, **Build Path**, then press **Save**.
3. Enter your variables on the **Environment** tab. Put the ones the build needs in **Build-time Arguments** too.
4. On the **Domains** tab, press **Add Domain**: **Host** is your domain, **Container Port** is your app's port, **HTTPS** is on and **Certificate Provider** is Let's Encrypt.
5. Press **Deploy**.

## Deploying with git push

1. Copy the **Webhook URL** from the app's **Deployments** tab. Keep this address secret.
2. On GitHub, open the repository's **Settings**, go to **Webhooks** and press **Add webhook**. Use that address as **Payload URL**, `application/json` as **Content type**, and push as the only event.

From then on, every push to the chosen branch builds and publishes a new version, and pushes to other branches are ignored.

## Closing port 3000

Once the panel opens on its HTTPS address, you can close access by IP. Docker skips ufw on the ports it publishes, so ufw can't do this. [Connect over SSH](https://www.seturack.com/en/knowledgebase/article/how-to-connect-with-ssh) and run the official command:

`docker service update --publish-rm "published=3000,target=3000,mode=host" dokploy`

If no certificate could be issued, the panel address is `http://IP:3000`. In that case keep the port open and set a domain under **Settings** on the **Web Server** page.

**No server yet?** [Order a server with Dokploy installed](https://www.seturack.com/en/dokploy-vps): you choose the size and pay for what you choose.
