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
Dockerfileen la raíz. Sirve el ejemplo de Cómo publicar una aplicación Go con Docker Compose en tu VPS:main.go,go.modyDockerfile, comprimidos en un zip. - Si tu código está en GitHub, GitLab, Bitbucket o Gitea, puedes conectar la cuenta en Settings → Git y saltarte el zip: cada
git pushdesplegará solo.
Paso a paso
- Entra en Projects → Create Project. Ponle nombre y una descripción y pulsa Create project. El proyecto agrupa aplicaciones, bases de datos y entornos.
- 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.
- 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.ymlcompleto) y Template.
- Ponle nombre y descripción a la aplicación y pulsa Create.
- 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).
- 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.
- Baja hasta Build Type, marca Dockerfile y pulsa Save. Deja vacíos Docker File y Docker Context Path: usa el
Dockerfilede la raíz. Después pulsa Deploy en la parte superior y confirma.
- 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
pushdispara un despliegue.
- 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.
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.
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.