Cómo alojar aplicaciones NestJS en Square Cloud
Cómo alojar aplicaciones NestJS en Square Cloud
Alojar una aplicación NestJS en Square Cloud es un proceso directo, enfocado en la eficiencia. Como NestJS utiliza TypeScript, el secreto para un deploy exitoso está en la compilación (build) y en el ajuste correcto del puerto de escucha.
1. Ajustando el puerto (Port 80)
Square Cloud utiliza el puerto 80 para enrutar el tráfico de tu aplicación. Por defecto, NestJS suele iniciar en el puerto 3000. Debes modificar el archivo main.ts para que escuche en el puerto correcto.
En tu archivo src/main.ts:
async function bootstrap() {
const app = await NestFactory.create(AppModule);
// Altere de 3000 para 80
await app.listen(80);
}
bootstrap();
2. Generando el build
No enviamos la carpeta src al alojamiento, pues Nest compila el código de manera optimizada a JS.
Ejecuta el comando de build en tu máquina local:
npm run buildEsto generará una carpeta llamada dist en la raíz de tu proyecto. Es ese contenido el que se ejecutará en Square Cloud.
3. Preparando el paquete de envío
Para un deploy optimizado, debes crear un .zip que contenga:
- La carpeta
dist/: (Contiene tu código compilado). - El archivo
package.json: (Necesario para instalar las dependencias de producción). - El archivo
package-lock.jsonoyarn.lock: (Garantiza las versiones exactas de las bibliotecas).
Importante: No incluyas la carpeta node_modules. Square Cloud instalará las dependencias automáticamente en el servidor tras el upload.
4. Configurando el archivo principal (Main)
Al realizar el deploy (ya sea por el dashboard o vía archivo de configuración), debes apuntar al archivo de entrada dentro de la carpeta compilada.
- Main File:
dist/main.js
Si usas el archivo squarecloud.app o squarecloud.config, la línea quedará así:
MAIN=dist/main.js5. Consejos de oro para NestJS
- Producción: Asegúrate de que tus dependencias de base de datos y secretos (como claves de API) estén configurados en las Variables de Entorno (ENVs) del dashboard de Square, y no "hardcoded" en el código.
- Prisma/TypeORM: Si usas un ORM, recuerda ejecutar las migraciones tras el build o vía scripts de
postinstallen elpackage.json. - Memoria: Las aplicaciones NestJS pueden consumir un poco más de RAM durante la inicialización debido a la inyección de dependencias. Monitorea los logs para garantizar que tu plan tiene recursos suficientes.
Actualizado el: 13/06/2026
¡Gracias!
