Cómo desplegar tu primera aplicación en Dokploy

Crea un proyecto en Dokploy, sube el código de una aplicación con su Dockerfile, elige el tipo de construcción y despliégala mirando el registro y los logs.

En Dokploy, una aplicación vive dentro de un proyecto, tiene un origen (tu repositorio Git, un zip con el código o una imagen Docker) y un tipo de construcción. Aquí desplegamos la aplicación Go del manual de Docker subiendo su código en un zip: es el camino que no depende de ninguna cuenta externa.

Antes de empezar

  • Para quién es este manual. Para cualquier modalidad de VPS: desplegar tu aplicación, sus repositorios y su configuración es cosa tuya o de tu desarrollador tanto en un VPS autogestionado como en uno administrado o administrado y gestionado. Lo que cambia es quién mantiene el servidor y la plataforma por debajo: en autogestionado, tú; en administrado, nosotros el sistema; en administrado y gestionado, también la plataforma dentro del alcance acordado (¿Cúal es la diferencia entre un VPS administrado y un VPS no administrado?).
  • Dokploy instalado y la cuenta de administración creada (Cómo instalar Dokploy en tu VPS).
  • El código de tu aplicación con su Dockerfile en la raíz. Sirve el ejemplo de Cómo publicar una aplicación Go con Docker Compose en tu VPS: main.go, go.mod y Dockerfile, comprimidos en un zip.
  • Si tu código está en GitHub, GitLab, Bitbucket o Gitea, puedes conectar la cuenta en SettingsGit y saltarte el zip: cada git push desplegará solo.

Paso a paso

  1. Entra en ProjectsCreate Project. Ponle nombre y una descripción y pulsa Create project. El proyecto agrupa aplicaciones, bases de datos y entornos.
Formulario Create your first project de Dokploy con el nombre hola-go y la descripción Aplicación de ejemplo en Go
  1. Si vienes del asistente inicial, verás la pantalla Ship something con un Simple app de prueba y plantillas de un clic (WordPress, Ghost, n8n, Uptime Kuma). Para desplegar tu propio código, pulsa SKIP ALL y entra en el proyecto.
Pantalla Ship something del asistente con la tarjeta Simple app y las plantillas WordPress, Ghost, n8n y Uptime Kuma
  1. Dentro del proyecto, pulsa Create Service y elige Application. Las otras opciones son Database (bases de datos gestionadas por el panel), Compose (un docker-compose.yml completo) y Template.
Menú Create Service desplegado con las opciones Application, Database, Compose, Template, AI Assistant e Import
  1. Ponle nombre y descripción a la aplicación y pulsa Create.
Diálogo Create de Dokploy con Name web, App Name generado automáticamente y descripción Servidor web en Go
  1. Se abre la aplicación en la pestaña General. En Provider eliges de dónde sale el código: Github, Gitlab, Bitbucket, Gitea, Docker (una imagen ya publicada en un registro), Git (cualquier repositorio por URL) o Drop (subir un zip).
Pestaña General de la aplicación con el bloque Provider y las pestañas Github, Gitlab, Bitbucket, Gitea, Docker, Git y Drop, y debajo el bloque Build Type
  1. Elige Drop, arrastra el zip a Drop files or click here y pulsa el Deploy de ese bloque. Sube el código y lanza un primer despliegue con el tipo de construcción por defecto (Nixpacks), que con este proyecto falla: es normal, lo corregimos en el paso siguiente.
Bloque Drop con el fichero hola-go.zip cargado y el botón Deploy
  1. Baja hasta Build Type, marca Dockerfile y pulsa Save. Deja vacíos Docker File y Docker Context Path: usa el Dockerfile de la raíz. Después pulsa Deploy en la parte superior y confirma.
Bloque Build Type con Dockerfile seleccionado y los campos Docker File, Docker Context Path y Docker Build Stage vacíos
  1. La pestaña Deployments lista cada despliegue con su estado. El primero de la lista tiene que quedar en Done. Ahí está también la Webhook URL: si la configuras en tu proveedor Git, cada push dispara un despliegue.
Pestaña Deployments con un despliegue en estado Done, la Webhook URL y los botones View y Delete
  1. Pulsa View para leer el registro: la construcción de la imagen etapa por etapa y el arranque del servicio. Es el sitio donde mirar cuando algo sale mal.
Diálogo Deployment con el registro del despliegue: carga del Dockerfile, descarga de golang:1-alpine y alpine:3 y construcción de la imagen

Cómo comprobar que ha funcionado

En la pestaña Logs, elige el contenedor y verás la salida en directo de tu aplicación: en el ejemplo, escuchando en :8080. La aplicación ya corre, pero todavía no tiene dirección pública: eso se hace en Cómo poner dominio y HTTPS a una aplicación en Dokploy.

Pestaña Logs de la aplicación con el contenedor en ejecución seleccionado y la salida en tiempo real

Si algo falla

  • El despliegue queda en Error y el registro dice «pull access denied»: has usado el proveedor Docker con una imagen que no está en un registro público. Súbela a un registro o usa Drop o Git.
  • «Nixpacks build failed» o «toolchain not available»: el tipo de construcción automático no ha entendido tu proyecto. Marca Dockerfile en Build Type y guarda antes de desplegar.
  • La construcción se queda sin memoria: construye la imagen en tu ordenador y despliégala con el proveedor Docker, o amplía el VPS.
  • Cualquier otra cosa: abre un ticket desde tu área de cliente (Cómo abrir un ticket de soporte y que se resuelva a la primera). Si el fallo está en el propio Dokploy o en el sistema y tu VPS es administrado, es nuestro; si está en tu aplicación o en su despliegue, te orientamos, pero es tuyo en cualquier modalidad.

Relacionados

  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Cómo instalar Dokploy en tu VPS

Instala Dokploy, el panel de despliegue de código abierto, en un VPS con un solo comando, crea la...

Cómo instalar Docker y Docker Compose en tu VPS

Instala Docker Engine y el plugin Compose desde el repositorio oficial en un VPS con Ubuntu 24.04...

Cómo publicar una aplicación Go con Docker Compose en tu VPS

Escribe un servidor web en Go, empaquétalo con un Dockerfile de dos etapas y levántalo con Docker...

Cómo poner dominio y HTTPS a una aplicación en Dokploy

Apunta tu dominio al VPS, añádelo a tu aplicación en Dokploy con el puerto del contenedor y deja...