> ## 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 Express.js (Node.js)

## 1. Requisitos previos

Antes de subir tu aplicación Express, verifica que tengas:
* **Cuenta en Square Cloud:** Crea tu cuenta vía [Página de Registro](https://squarecloud.app/pt-br/signup) (correo o GitHub).
* **Plan Activo:** Es necesario un plan de pago para alojar. Consulta los [precios aquí](https://squarecloud.app/pt-br/pricing).

---

## 2. Configuración técnica del webserver

Para que Square Cloud consiga enrutar el tráfico externo hacia tu aplicación, tu servidor Express debe estar "escuchando" en las interfaces y puertos correctos.

En tu código principal (ej.: `index.js` o `app.js`), configura el `app.listen` con los siguientes parámetros:

* **Host:** `0.0.0.0` (Esto permite que el servidor acepte conexiones desde fuera del contenedor).
* **Puerto:** `80` (El puerto por defecto utilizado por el balanceador de carga de Square Cloud).

### Ejemplo de código
```javascript
import  express from 'express';
const app = express();

const PORT = 80;
const HOST = '0.0.0.0';

app.get('/', (req, res) => {
  res.send('Servidor Express rodando na Square Cloud!');
});

app.listen(PORT, HOST, () => {
  console.log(`Servidor rodando em http://${HOST}:${PORT}`);
});
```

---

## 3. Realizando el Deploy

1.  **Compresión:** Crea un archivo `.zip` con tu código fuente y el `package.json` (no incluyas la carpeta `node_modules`).
2.  **Upload:** En el Dashboard, selecciona el archivo para enviarlo.
3.  **Configuración de Red:** En el menú de envío, es fundamental marcar la opción **"Publicar en la Web"**.
4.  **Subdominio:** Define el nombre de tu subdominio gratuito (ej.: `mi-api`). La dirección final será `mi-api.squareweb.app`.

---

## 4. Dominios personalizados (Plan Standard+)

Si tienes un plan **Standard o superior**, no estás limitado al subdominio `.squareweb.app`.

* Puedes configurar un dominio propio (ej.: `www.tuempresa.com`) a través de la pestaña **Network** en la configuración de la aplicación, como se detalla en nuestras guías de DNS.
* Square Cloud gestiona automáticamente el certificado SSL (HTTPS) tanto para el subdominio gratuito como para tu dominio personalizado.

---

## 5. Consejos de rendimiento y seguridad

* **Variables de entorno:** Utiliza las ENVs de Square Cloud para gestionar claves de API y secretos de la base de datos, evitando exponer datos sensibles en el código.
* **Logs de acceso:** Utiliza la pestaña de **Logs** del dashboard para monitorear peticiones e identificar posibles errores (status 404, 500) en tiempo real.