> ## 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 un sitio Gatsby

# Cómo alojar aplicaciones Gatsby en Square Cloud

Alojar un sitio Gatsby en Square Cloud exige que transformemos tu código de desarrollo en archivos estáticos de producción y utilicemos un servidor para entregarlos. A diferencia de un entorno local, en producción nos enfocamos en la carpeta de salida final y en el puerto de red obligatorio.

---

## 1. Realizando el build de producción

Gatsby compila todo tu contenido y componentes en una carpeta optimizada. Antes de realizar el deploy, ejecuta el comando de build en tu máquina:

```bash
npx gatsby build
```

Este comando creará una carpeta llamada **`public/`** en la raíz de tu proyecto. Es importante notar que, a diferencia de otros frameworks que usan `dist/`, Gatsby utiliza el directorio `public/` para el resultado final.

---

## 2. Configurando el puerto y el comando de inicio

Square Cloud pone a disposición el **puerto 80** para que tu aplicación lo utilice y reciba peticiones. Utilizaremos el comando de inicio para apuntar el servidor a la carpeta correcta con el puerto definido.

### Comando de start (Dashboard o Config):
```bash
npx serve -s public -p 80
```

*   **`-s` (Single Page Application):** Esencial para que el enrutamiento de Gatsby funcione correctamente, evitando errores 404 al actualizar la página en rutas internas.
*   **`public`:** Apunta a la carpeta generada por el build.
*   **`-p 80`:** Define el puerto de escucha obligatorio de Square Cloud.

### SSR
Para builds SSR que emiten un bundle de servidor, basta con configurar el archivo principal como `server.js`.

---

## 3. ¿Qué debe contener tu archivo de deploy?

Al crear tu archivo **.zip** para el upload, incluye solo lo necesario para la ejecución:

*   La carpeta **`public/`** completa.
*   El archivo **`package.json`**.

> **Atención:** No envíes la carpeta `node_modules`, `src` ni `.cache`. Eso haría tu upload pesado e innecesario, ya que Square Cloud se encarga de la instalación de las dependencias.

---

## 4. Consejos de optimización y caché

*   **Imágenes:** Gatsby es excelente para optimizar imágenes durante el build. Asegúrate de que el proceso de build se haya completado con éxito localmente.
*   **Variables de entorno:** Configura tus claves en tu entorno local antes de generar el build, o utiliza el sistema de **Variables** de Square Cloud si tu build se hace vía GitHub Actions.