> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Cómo alojar una aplicación Node.js en Vertra Cloud

> Despliega una aplicación Node.js en Vertra Cloud: script start en package.json, versión de Node, dependencias instaladas por la plataforma y logs.

## Requisitos

* Node.js instalado en local (para desarrollo)
* Cuenta en [Vertra Cloud](https://vertracloud.app)
* Archivo `package.json` en la raíz del proyecto

## Estructura del proyecto

```
my-project/
├── src/
│   └── index.js
├── package.json
└── vertracloud.config  (optional)
```

## Configuración

### package.json

Asegúrate de que `package.json` tenga definido un script `start`:

```json theme={null}
{
  "name": "my-project",
  "version": "1.0.0",
  "main": "src/index.js",
  "scripts": {
    "start": "node src/index.js"
  },
  "dependencies": {
  }
}
```

> [!NOTE]
>
> La plataforma ejecuta `npm install` automáticamente antes de iniciar tu aplicación. No incluyas `node_modules` en la subida.

### vertracloud.config (opcional)

```ini theme={null}
MAIN=src/index.js
START=npm start
VERSION=recommended
```

## Ejemplo: servidor HTTP sencillo

```javascript theme={null}
const http = require('http');

const port = process.env.PORT || 80;

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'application/json' });
  res.end(JSON.stringify({ message: 'Hello from Vertra Cloud!' }));
});

server.listen(port, '0.0.0.0', () => {
  console.log(`Server running on port ${port}`);
});
```

## Deploy

**Dashboard**

1. Comprime el proyecto en un `.zip` (las carpetas como `node_modules`, `venv` y `target` se eliminan automáticamente) o súbelo a GitHub.
2. En el panel, haz clic en **Nuevo Proyecto** y sube el `.zip` o pega la URL del repositorio.
3. En **Build**, revisa el runtime (**JavaScript**), el archivo principal (`index.js`) y la memoria. Los comandos de inicio y de build están en **Ajustes avanzados**.
4. Añade tus variables de entorno en **Variables de Entorno**.
5. En **Red**, activa la **publicación web** para que la aplicación reciba una dirección `*.vertraweb.app` (plan Pro o superior, 512 MB de memoria). La aplicación debe escuchar en el puerto 80.
6. Revisa y despliega. Sigue la salida en la pestaña **Logs**.

**CLI**

```bash theme={null}
vertra upload
vertra logs -f
```

Consulta la [CLI](https://docs.vertracloud.app/es-es/cli.md) para la instalación y el inicio de sesión.

**VS Code**

Abre la carpeta con la extensión de Vertra Cloud instalada y ejecuta **Deploy current project**. Consulta la [extensión de VS Code](https://docs.vertracloud.app/es-es/vscode-extension.md).

La guía completa está en [Primer despliegue](https://docs.vertracloud.app/es-es/how-to-host.md).

## Versiones disponibles

| Versión | Estado | Descripción |
| - | - | - |
| 24.22.1 | Más reciente | Node.js 24.22.1 (versión más reciente) |
| 22.23.4 | Recomendada | Node.js 22.23.4 LTS (recomendada para producción) |

## Notas

* Las **dependencias** se instalan automáticamente con `npm install`
* Las **variables de entorno** se pueden configurar en el panel o mediante la API
* Los **logs** están disponibles en tiempo real en la terminal del panel
* El **reinicio automático** está activado por defecto y reinicia la aplicación automáticamente si falla
* Escucha siempre en `process.env.PORT` y en el host `0.0.0.0`

## Problemas comunes

> **Error: Cannot find module**
>
> Asegúrate de que todas las dependencias estén listadas en `package.json`. La plataforma solo instala lo que está declarado.

> **EADDRINUSE: address already in use**
>
> Es posible que tu aplicación intente usar un puerto fijo. Usa `process.env.PORT` para el puerto correcto.

> **El contenedor no deja de reiniciarse**
>
> Revisa los logs para identificar el error. Los errores de sintaxis o las dependencias que faltan son causas habituales. El sistema de detección de crash loop pausará el reinicio automático tras 5 caídas en 10 minutos.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.