> ## 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 Astro

# Cómo alojar aplicaciones Astro en Square Cloud

Astro es conocido por su arquitectura de "islas" y por generar sitios extremadamente rápidos. En Square Cloud puedes alojar sitios estáticos o aplicaciones Astro con SSR (Server-Side Rendering). Para el modelo estándar de sitio estático, utilizaremos la biblioteca **serve** para gestionar las peticiones en el puerto 80.

---

## 1. El proceso de build

Antes de enviar tus archivos a Square Cloud, necesitas generar la versión de producción de tu sitio. Astro compila tus componentes y contenidos en archivos HTML, CSS y JS optimizados.

En tu terminal local, ejecuta:
```bash
npm run build
```
Este comando creará una carpeta llamada **`dist/`** en la raíz de tu proyecto. Es esta carpeta la que contiene todo lo que verá tu usuario final.

---

## 2. Preparando el servidor de archivos

Como Astro (en modo estático) genera solo archivos, necesitamos un pequeño servidor para "servir" esos archivos vía HTTP. La biblioteca **serve** es ideal para esto. Añádela a las dependencias de tu `package.json`:
```json
"dependencies": {
  "serve": "^14.0.0"
}
```

---

## 3. Configurando el puerto y el start

Square Cloud pone a disposición el **puerto 80** para que tu aplicación lo utilice y reciba peticiones. El comando de inicio debe configurarse para apuntar el servidor a la carpeta de build y definir el puerto correcto.

**Comando de inicio (Start Command):**
```bash
npx serve dist -p 80
```

*   **`dist`**: Indica la carpeta donde están los archivos compilados.
*   **`-p 80`**: Define el puerto obligatorio para el tráfico en Square Cloud.

---

## 4. Estructura del archivo de deploy (.zip)

Para realizar el upload, crea un archivo comprimido que contenga solo lo esencial para la ejecución:

*   La carpeta **`dist/`** (generada por el build).
*   El archivo **`package.json`**.

**Consejo:** No incluyas la carpeta `node_modules` ni la carpeta `src`. Square Cloud instalará las dependencias necesarias automáticamente.

---

## 5. Astro con SSR (Opcional)

Si estás usando Astro con un adaptador (como Node.js) para renderizado del lado del servidor (SSR), el proceso cambia ligeramente:
1.  El comando de build sigue siendo necesario.
2.  El comando de inicio será generalmente `node ./dist/server/entry.mjs` (o similar, dependiendo de tu adaptador).