> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Cómo alojar una aplicación Remix (Node.js)

# Cómo alojar aplicaciones Remix en Square Cloud

Remix fue diseñado para cargar páginas instantáneamente mediante búsquedas paralelas de datos. Para ejecutar tu aplicación en Square Cloud, el flujo estándar consiste en compilar el proyecto para producción y utilizar la herramienta nativa `remix-serve` para gestionar las peticiones en el puerto correcto.

---

## 1. El proceso de build

Antes de enviar tu aplicación al entorno de producción, necesitas compilar el código fuente. Este proceso optimiza tus rutas, componentes React y compila los archivos del servidor.

En la terminal de tu proyecto local, ejecuta:
```bash
npm run build
```

Por defecto (especialmente en versiones modernas basadas en Vite), Remix generará la carpeta **`build/`** que contiene el servidor compilado y los assets del cliente.

---

## 2. Configurando el comando de inicio (remix-serve)

A diferencia de los servidores Node personalizados, Remix proporciona un paquete listo llamado `remix-serve` para ejecutar la aplicación construida. Tu comando de inicio (en el Dashboard o en el archivo de configuración `squarecloud.app`) debe invocar esa utilidad:

```bash
npx remix-serve ./build/server/index.js
```
*(Nota: Asegúrate de validar la ruta exacta del archivo `index.js` generado en tu carpeta build, que puede variar ligeramente según tu versión de Remix o tu archivo de configuración de Vite).*

---

## 3. ¿Qué incluir en el paquete de envío (.zip)?

Para garantizar un deploy rápido, limpio y sin problemas de almacenamiento, crea un archivo `.zip` que contenga solo los artefactos de producción:

*   La carpeta **`build/`** (generada por el comando de build).
*   La carpeta **`public/`** (contiene tus assets estáticos, como imágenes y favicon).
*   El archivo **`package.json`**.
*   El archivo **`package-lock.json`** o `yarn.lock`.

> **Atención:** Nunca incluyas la carpeta `node_modules` en tu archivo comprimido. Square Cloud hará una instalación aislada y limpia de las dependencias directamente en el servidor tras el upload.

---

## 4. Consejos de producción

*   **Versión de Vite:** Si migraste recientemente tu proyecto Remix al compilador de Vite, asegúrate de que tu archivo `vite.config.ts` esté configurado correctamente para producción.
*   **Variables del lado del servidor:** Recuerda que las claves de API secretas y las strings de conexión a bases de datos nunca deben quedar expuestas en el código. Añádelas todas en la pestaña de **Variables de Entorno** en el panel de Square Cloud. Remix las accederá nativamente a través de `process.env`.