> ## 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).

# Como hospedar um site Astro

# Como hospedar aplicações Astro na Square Cloud

Astro é conhecido por sua arquitetura de "islas" e por gerar sites extremamente rápidos. Na Square Cloud, você pode hospedar sites estáticos ou aplicações Astro com SSR (Server-Side Rendering). Para o modelo padrão de site estático, utilizaremos a biblioteca **serve** para gerenciar as requisições na porta 80.

---

## 1. O Processo de Build

Antes de enviar seus arquivos para a Square Cloud, você precisa gerar a versão de produção do seu site. O Astro compila seus componentes e conteúdos em arquivos HTML, CSS e JS otimizados.

No seu terminal local, execute:
```bash
npm run build
```
Este comando criará uma pasta chamada **`dist/`** na raiz do seu projeto. É esta pasta que contém tudo o que seu usuário final verá.

---

## 2. Preparando o Servidor de Arquivos

Como o Astro (no modo estático) gera apenas arquivos, precisamos de um pequeno servidor para "servir" esses arquivos via HTTP. A biblioteca **serve** é a escolha recomendada por sua simplicidade.

No seu arquivo `package.json`, adicione a dependência:
```json
"dependencies": {
  "serve": "^14.0.0"
}
```

---

## 3. Configurando a Porta e o Start

A Square Cloud disponibiliza a **porta 80** para sua aplicação utilizar e receber requisições.  O comando de inicialização deve ser configurado para apontar o servidor para a pasta de build e definir a porta correta.

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

*   **`dist`**: Indica a pasta onde estão os arquivos compilados.
*   **`-p 80`**: Define a porta obrigatória para o tráfego na Square Cloud.

---

## 4. Estrutura do Arquivo de Deploy (.zip)

Para realizar o upload, crie um arquivo comprimido contendo apenas o essencial para a execução:

*   A pasta **`dist/`** (Gerada pelo build).
*   O arquivo **`package.json`**.

**Dica:** Não inclua a pasta `node_modules` ou a pasta `src`. A Square Cloud instalará as dependências necessárias automaticamente.

---

## 5. Astro com SSR (Opcional)

Se você estiver usando o Astro com um adaptador (como Node.js) para renderização no lado do servidor (SSR), o processo muda levemente:
1.  O comando de build ainda é necessário.
2.  O comando de início será geralmente `node ./dist/server/entry.mjs` (ou similar, dependendo do seu adaptador).