# ¿Cómo despliego mi primera aplicación en Dokploy?

https://www.seturack.com/es/base-de-conocimientos/articulo/how-do-i-deploy-my-first-app-on-dokploy

1. En el panel, abre **Mis servidores** y haz clic en tu servidor.
2. En la pestaña **Resumen**, espera a que la fila **Aplicación** diga "Dokploy está listo". La página se actualiza sola.
3. Abre el enlace HTTPS de la fila **Dirección del panel** e introduce los datos de las filas **Correo electrónico** y **Contraseña**.

## Tu primera aplicación

1. En la página **Projects**, pulsa **Create Project** y después añade una **Application** con **Create Service**.
2. En la sección **Provider** de la aplicación, elige **Git**. Introduce **Repository URL**, **Branch** y, si hace falta, **Build Path**, y pulsa **Save**.
3. Introduce tus variables en la pestaña **Environment**. Pon también en **Build-time Arguments** las que necesite la compilación.
4. En la pestaña **Domains**, pulsa **Add Domain**: **Host** es tu dominio, **Container Port** es el puerto de tu aplicación, **HTTPS** está activado y **Certificate Provider** es Let's Encrypt.
5. Pulsa **Deploy**.

## Desplegar con git push

1. Copia la **Webhook URL** de la pestaña **Deployments** de la aplicación. Mantén esta dirección en secreto.
2. En GitHub, abre **Settings** del repositorio, ve a **Webhooks** y pulsa **Add webhook**. Usa esa dirección como **Payload URL**, `application/json` como **Content type** y push como único evento.

A partir de entonces, cada push a la rama elegida compila y publica una versión nueva, y los push a otras ramas se ignoran.

## Cerrar el puerto 3000

Cuando el panel se abra en su dirección HTTPS, puedes cerrar el acceso por IP. Docker se salta ufw en los puertos que publica, así que ufw no puede hacerlo. [Conéctate por SSH](https://www.seturack.com/es/base-de-conocimientos/articulo/how-to-connect-with-ssh) y ejecuta el comando oficial:

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

Si no se pudo emitir un certificado, la dirección del panel es `http://IP:3000`. En ese caso deja el puerto abierto y define un dominio en **Settings**, en la página **Web Server**.

**¿Aún no tienes servidor?** [Pide un servidor con Dokploy instalado](https://www.seturack.com/es/dokploy-vps): tú eliges el tamaño y pagas solo lo que eliges.
