# Como publico a minha primeira aplicação no Dokploy?

https://www.seturack.com/pt/base-de-conhecimentos/artigo/how-do-i-deploy-my-first-app-on-dokploy

1. No painel, abra **Os meus servidores** e clique no seu servidor.
2. No separador **Resumo**, aguarde até a linha **Aplicação** indicar «Dokploy está pronto». A página atualiza-se sozinha.
3. Abra a ligação HTTPS na linha **Endereço do painel** e introduza os dados das linhas **E-mail** e **Palavra-passe**.

## A sua primeira aplicação

1. Na página **Projects**, prima **Create Project** e depois adicione uma **Application** com **Create Service**.
2. Na secção **Provider** da aplicação, escolha **Git**. Introduza o **Repository URL**, o **Branch** e, se for preciso, o **Build Path**, e prima **Save**.
3. Introduza as suas variáveis no separador **Environment**. Coloque também em **Build-time Arguments** as que a compilação necessita.
4. No separador **Domains**, prima **Add Domain**: em **Host** escreva o seu domínio, em **Container Port** a porta da sua aplicação, ative **HTTPS** e em **Certificate Provider** escolha Let's Encrypt.
5. Prima **Deploy**.

## Publicar com git push

1. Copie o **Webhook URL** do separador **Deployments** da aplicação. Mantenha este endereço em segredo.
2. No GitHub, abra as **Settings** do repositório, vá a **Webhooks** e prima **Add webhook**. Use esse endereço como **Payload URL**, `application/json` como **Content type** e o push como único evento.

A partir daí, cada push para o branch escolhido compila e publica uma nova versão, e os pushes para outros branches são ignorados.

## Fechar a porta 3000

Quando o painel abrir no endereço HTTPS, pode fechar o acesso por IP. O Docker ignora o ufw nas portas que publica, por isso o ufw não consegue fazê-lo. [Ligue-se por SSH](https://www.seturack.com/pt/base-de-conhecimentos/artigo/how-to-connect-with-ssh) e execute o comando oficial:

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

Se não tiver sido possível emitir um certificado, o endereço do painel é `http://IP:3000`. Nesse caso, mantenha a porta aberta e defina um domínio em **Settings**, na página **Web Server**.

**Ainda sem servidor?** [Encomende um servidor com Dokploy instalado](https://www.seturack.com/pt/dokploy-vps): escolhe o tamanho e paga apenas o que escolher.
