Automatiza el despliegue de tus aplicaciones en un VPS con DokPloy

🏠 NetCore en Linux 📅 08 Apr 2026 ⏱️ 15 min 💾 Código 💬 0

Hace poco vimos en este blog cómo montar un servidor VPS configurando todo a mano, desde el reverse proxy con Nginx, los certificados, desplegar una app en .NET, systemd, etc. Todo lo necesario para tener un control total. El contenido gustó mucho y hubo bastantes peticiones para continuar con esta serie.

 

Así que he vuelto a colaborar con Hostinger para resolver varias de las dudas que dejasteis en el vídeo anterior. En este post veremos cómo desplegar una aplicación en un VPS usando Dokploy y GitHub, automatizando el deploy, los certificados SSL y la configuración del dominio sin tener que montar toda la infraestructura manualmente.

 

 

NOTA: Código de descuento del 10% con el cupon NETMENTOR.

 

 

1 - ¿Por qué Dokploy?

 

Ya mencioné en el primer vídeo que una de las limitaciones habituales de muchos desarrolladores aparece a la hora de desplegar aplicaciones: desarrollamos muchas, pero nos da una pereza brutal preparar todo lo necesario para ponerlas en producción. En ese primer post vimos que hacerlo manualmente no requiere tanto trabajo, pero sigue habiendo cierta configuración que preparar.

 

En este post vamos a ver Dokploy, un software open source que puedes instalar en tu servidor y que actúa como un orquestador. Ofrece una interfaz visual desde la que, entre otras cosas, puedes conectar repositorios de GitHub o GitLab, configurar dominios y desplegar contenedores de forma automática.

 

Lo que puedes conseguir con Dokploy es tener en tu propio VPS una experiencia de despliegue que puede recordar a plataformas como Vercel o Heroku, pero ejecutándolo en tu propio servidor y con mayor control sobre la infraestructura. Además, para proyectos personales o pequeños servicios, un VPS ofrece un coste mucho más predecible. En plataformas gestionadas o serverless, un pico de tráfico un ataque DDoS o una mala configuración pueden traducirse en una factura muy alta, como vimos hace un tiempo. En un VPS, en cambio, el límite va a llegar antes por capacidad de la máquina en vez de por una escalada inesperada de costes.

 

Dokploy simplifica enormemente toda esta parte, ya que automatiza la gestión del proxy inverso, los certificados y gran parte de la configuración necesaria.

Lo simplifica tanto que puedes configurar el despliegue automático para que, por ejemplo, cada push a main lance un nuevo deploy.

 

Antes de continuar, quiero mencionar que Dokploy tiene muchas más opciones y configuraciones de las que vamos a ver en este post. Aquí nos centraremos en un ejemplo práctico para desplegar rápidamente un proyecto hobby en un VPS. Dokploy encaja especialmente bien en escenarios de despliegue sencillos o de un solo servidor, donde para escalar queremos aumentar los recursos de una única máquina, en otras palabras, utilizando escalado vertical. Si necesitas escalado horizontal o una arquitectura distribuida más compleja, deberás valorar otras opciones

 

Aprende más sobre escalado horizontal y vertical con mi libro Construyendo sistemas distribuidos.

 

 

1.1 - Instalar Dokploy en Hostinger

 

Para instalar Dokploy en Hostinger tenemos varias opciones, la primera y la más básica es seleccionándolo en las opciones de sistema operativo en la propia página de Hostinger, ya que debido a su popularidad, tienen  una opción  por defecto, y con un click se instala. 

Para acceder, podemos hacerlo a través de la IP de nuestro servidor y el puerto 3000, si quieres acceder a través de un dominio, debes asegurarte de tener dicho dominio apuntando a la IP de tu VPS.

 

O si quieres, puedes crear el VPS con un Linux cualquiera e instalar Dokploy dentro, así podrás instalar cualquier otro servicio que puedas querer en el futuro. 

 

 

2 - Desplegar una aplicación desde GitHub a nuestro VPS con Dokploy

 

Antes de tocar Dokploy, necesitamos preparar nuestra app y asegurarnos que tenemos nuestro Dockerfile para ser capaces de construir nuestra app en un contenedor, yo voy a utilizar la APP de test que cree para el post anterior, y este es el código del Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
USER $APP_UID
WORKDIR /app
EXPOSE 8080
EXPOSE 8081

FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["BlazorApp1/BlazorApp1.csproj", "BlazorApp1/"]
RUN dotnet restore "BlazorApp1/BlazorApp1.csproj"
COPY . .
WORKDIR "/src/BlazorApp1"
RUN dotnet build "./BlazorApp1.csproj" -c $BUILD_CONFIGURATION -o /app/build

FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./BlazorApp1.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "BlazorApp1.dll"]

Con esto lo que conseguiremos que Dokploy lea el fichero, construya la imagen y ejecute el contenedor. 

 

 

2.1 - Conectar Dokploy a GitHub

 

Ahora vamos a conectar nuestro repositorio de GitHub, si tu repositorio es público, como lo es en mi caso es tan sencillo como coger y poner la URL de github y el branch que quieres seleccionar:

 

 

Si tu repositorio es privado, lo que tienes que hacer es configurar un PAT (personal access token) con permisos de lectura y ponerlo en la configuración de Dokploy.

 

 

2.2 - Configurar el despliegue con Dokploy

 

En este punto aparece el verdadero motivo por el que hemos creado el Dockerfile dentro del proyecto. Es muy simple: en la configuración de Dokploy podemos indicar que la aplicación va a utilizar un Dockerfile y especificar el puerto que expondrá dentro del contenedor. En el caso de ASP.NET, normalmente será el puerto 8080.

Dokploy automáticamente enrutará el tráfico que venga desde los puertos 80 y 443, que son los de HTTP y HTTPS hacia nuestra imagen con el contenido que queremos mostrar. 

 

 

Dokploy no está monitorizando el repositorio continuamente, ya que eso no tendría demasiado sentido. Para automatizar el despliegue, lo que haremos será ir a GitHub y añadir un webhook.

 

Un webhook no es más que una llamada HTTP que GitHub realiza a nuestro servidor. Aquí simplemente tenemos que copiar y pegar la URL exacta que nos proporciona Dokploy. De esta forma, cada vez que hagas un push a la rama main, GitHub enviará una notificación al VPS y Dokploy reaccionará construyendo el nuevo contenedor y sustituyendo el anterior. Todo ello de forma automática y, en la mayoría de los casos, con una interrupción mínima del servicio.

 

 

Ojo este webhook sucede al hacer push, no espera a que la build, o la pipeline de CI/CD termine, en caso de que tengas algo así en Github. Si quieres contenido que incluya este proceso, no dudes en dejarlo en los comentarios para que hostinger nos tenga en cuenta para crear más contenido! 

 

Pero, para tus proyectos de fin de semana donde no tienes muchos usuarios, y trabajas tú solo, es más que suficiente.

 

 

2.3 - Configuración de Certificados al utilizar Dokploy

 

Por ahora ya hemos desplegado la aplicación, pero seguirá apareciendo como no segura. Igual que vimos en el vídeo anterior sobre VPS, necesitamos generar certificados SSL con Let’s Encrypt. La ventaja aquí es que Dokploy puede hacerlo por nosotros automáticamente. Además en la propia configuración de Dokploy podemos especificar tantos subdominios como queramos, y por cada uno de ellos nos va a generar un certificado. 

 

Por supuesto, para que los subdominios funcionen, debemos configurar los registros A en el panel de Hostinger para que el dominio o subdominio apunte correctamente a nuestro VPS y los cambios se propaguen por DNS:

 

 

 

2.4 - Hacer el Deploy con Dokploy

 

Finalmente, solo nos queda lanzar el despliegue haciendo clic en el botón Deploy dentro de la pestaña General.

 

Si tenemos todo bien montado, en el apartado de Deployments podremos ver como el despliegue se ha realizado correctamente:

Y podemos acceder a la web a través del navegador sin ningún problema en test.netmentor.tech.

 

En caso de tener algún error durante el despliegue, Dokploy nos muestra los errores.

 

Como vemos el proceso es muy sencillo, apenas tenemos que hacer nada y podemos tener tantas apps como queramos, lo que para proyectos hobby es ideal.

 

 

 

3 - Merece la pena Dokploy?

 

Como habéis visto, Dokploy representa un punto intermedio muy interesante: nos ahorra buena parte del trabajo manual de configurar proxies, certificados y despliegues, pero sin renunciar al control de tener nuestra propia infraestructura. Para proyectos personales, pruebas, MVPs o servicios pequeños, puede ser una opción muy práctica para dar una vida útil a esas aplicaciones que tenemos acumuladas en GitHub sin complicarnos demasiado. Si buscáis un equilibrio entre control, simplicidad y coste predecible, montarlo sobre un VPS puede ser una alternativa muy interesante.

 

Recuerda: Código de descuento del 10% con el cupon NETMENTOR.

 

 

 


💬 Comentarios