Skip to content
← Todas las guías

Devora Cloud · Blog

Publicar sin Git: del ZIP al sitio en línea en minutos

Cómo publicar un sitio o sistema en Devora Cloud subiendo solo un archivo ZIP: tecnologías compatibles, build automático, PORT y 0.0.0.0, qué dejar fuera del ZIP y cómo conectar GitHub después.

proyecto.zippackage.jsonsrc/public/fuera del ZIPnode_modules/.next/.envBuild automático› detectado: Next.js› npm ci› npm run build› PORT=3000› listen 0.0.0.0✓ healthcheckloja.apps…En líneaHTTPS automáticoGitHub después, si quieres
Ilustración técnica. Los recursos y regiones dependen del plan, disponibilidad y compatibilidad.

No todos los proyectos nacen en un repositorio Git. A veces el código viene de un freelancer, lo generó una IA, está en una carpeta de tu ordenador o en un ZIP descargado de algún sitio. En muchos servicios de hosting eso significa aprender Git, crear un repositorio y configurar Docker antes siquiera de ver el sitio funcionando.

En Devora Cloud puedes publicar con un archivo ZIP. La plataforma detecta la tecnología, hace el build sola y pone el sitio en línea con HTTPS. Esta guía muestra qué está soportado, cómo preparar el ZIP y los dos detalles que más despliegues tumban: el puerto y la dirección 0.0.0.0.

Tecnologías compatibles sin Dockerfile

TecnologíaCómo se detectaPuerto por defecto
Next.js y Node.jspackage.json (npm, pnpm o yarn) con scripts build y start3000
Vite / Reactpackage.json con Vite; el resultado lo sirve nginx con fallback de SPA80
Python: Django, FastAPI, Flaskrequirements.txt o pyproject.toml8000
Gogo.mod8080
HTML estáticoindex.html en la raíz80

Si hay un Dockerfile en la raíz del ZIP, se usa en lugar de la receta automática. Si no lo hay, el log del build muestra el Dockerfile generado, útil para entender y corregir un error.

Paso a paso

  • Crea tu cuenta en devoracloud.com/register (7 días gratis, sin tarjeta).
  • En el panel, crea un proyecto nuevo y elige la subida por ZIP.
  • Sube el archivo (hasta 512 MB).
  • Sigue el build: análisis, construcción, publicación y verificación de salud.
  • Cuando el estado esté listo, el sitio responde en https://tu-proyecto.apps.devoracloud.com con certificado automático.

¿Prefieres no hacer nada de esto? Genera el token de IA en el panel y pídele a tu IA que publique: prepara el ZIP, crea el proyecto y sigue el build por ti.

Cómo armar el ZIP

Pon en la raíz del ZIP el archivo que identifica el proyecto: package.json, requirements.txt, go.mod o index.html. Una única carpeta en el nivel superior también funciona. Usa ZIP; el formato tar no se acepta.

Deja fuera:

  • node_modules: las dependencias se instalan en el build.
  • .next, dist y build: el build se rehace en la plataforma.
  • .git: el historial no hace falta.
  • .env y cualquier archivo con contraseñas o claves: usa las variables de entorno del proyecto.
  • Subidas de usuarios y bases locales, como archivos .sqlite: los archivos van a S3 y los datos a PostgreSQL.

Un ZIP ligero sube más rápido y evita llevar a la nube cosas que solo tenían sentido en tu ordenador.

PORT y 0.0.0.0: el error más común

La aplicación debe escuchar en la dirección 0.0.0.0 y en el puerto que indica la variable de entorno PORT. Si escucha solo en localhost (127.0.0.1) o en otro puerto fijo, el build termina bien, pero la verificación de salud no llega a la app y el despliegue falla.

  • Node.js: app.listen(process.env.PORT || 3000, "0.0.0.0").
  • Next.js: el script start por defecto (next start) ya respeta PORT.
  • Python: arranca el servidor (uvicorn, gunicorn) con host 0.0.0.0 y el puerto de PORT.
  • Go: lee os.Getenv("PORT") y escucha en ":" + puerto.

Revisa también los scripts: en proyectos Node, el package.json necesita build (si hay etapa de build) y start.

Otros errores comunes en el primer despliegue

Si el despliegue falla, abre el log antes de cambiar nada. Los casos más frecuentes se resuelven fácil:

  • Dependencia que falta: el paquete funciona en tu ordenador porque lo instalaste a mano, pero no está en package.json ni en requirements.txt.
  • Versión de runtime incorrecta: el proyecto necesita otra versión de Node.js o Python distinta de la que detectó el build.
  • Mayúsculas y minúsculas en los nombres de archivo: funciona en Windows o macOS, pero no en el Linux del build.
  • Variable de entorno ausente en el build: el código lee una clave que solo existía en tu .env local.

Corrígelo, genera un ZIP nuevo y vuelve a publicar. Mientras tanto, la versión anterior sigue en línea.

Variables, base de datos y S3

Las contraseñas y claves se configuran como variables de entorno del proyecto, disponibles en el build y en la ejecución. Si el sistema usa base de datos, crea PostgreSQL o Redis antes del primer despliegue: la conexión llega a la app como DATABASE_URL (o REDIS_URL). Para imágenes y documentos, crea el S3 privado del proyecto; la app recibe las variables S3_* listas.

Nunca pongas secretos en variables que lee el navegador, como las que empiezan por NEXT_PUBLIC_.

Nuevas versiones y GitHub más adelante

Para actualizar, sube un ZIP nuevo y vuelve a publicar. Un despliegue fallido nunca sustituye la versión en línea: el sitio sigue funcionando mientras corriges.

Cuando el proyecto madure, conecta GitHub una vez en el panel, en Conexiones, y vincula el repositorio al proyecto. Desde entonces, cada push a la rama elegida genera un despliegue. La subida por ZIP sigue disponible si la prefieres.

Preguntas frecuentes

¿Necesito un Dockerfile?

No. Next.js, Node.js, Vite/React, Python (Django, FastAPI, Flask), Go y HTML estático tienen recetas automáticas. Si incluyes un Dockerfile en la raíz, se usa ese.

¿Cuál es el tamaño máximo del ZIP?

Hasta 512 MB. Sin node_modules ni carpetas de build, la mayoría de los proyectos queda muy por debajo.

El build pasó, pero el despliegue falló. ¿Por qué?

Casi siempre la aplicación no escucha en 0.0.0.0 y en el puerto de la variable PORT, o falta el script start. Mira los logs del despliegue: muestran el error y el Dockerfile generado.

¿Puedo pasarme a GitHub después?

Sí. Conecta GitHub en Conexiones y vincula el repositorio al proyecto; a partir de ahí, los despliegues salen de cada push.

Publicar sin Git: del ZIP al sitio en línea en minutos · Devora Cloud