> ## 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 uma aplicação Express.js (Node.js)

## 1. Pré-requisitos

Antes de subir sua aplicação Express, verifique se você possui:
* **Conta na Square Cloud:** Crie sua conta via [Página de Registro](https://squarecloud.app/pt-br/signup) (E-mail ou GitHub).
* **Plano Ativo:** É necessário um plano pago para realizar a hospedagem. Confira os [preços aqui](https://squarecloud.app/pt-br/pricing).

---

## 2. Configuração Técnica do Webserver

Para que a Square Cloud consiga rotear o tráfego externo para a sua aplicação, o seu servidor Express precisa estar "ouvindo" nas interfaces e portas corretas.

No seu código principal (ex: `index.js` ou `app.js`), configure o `app.listen` com os seguintes parâmetros:

* **Host:** `0.0.0.0` (Isso permite que o servidor aceite conexões de fora do container).
* **Porta:** `80` (A porta padrão utilizada pelo balanceador de carga da Square Cloud).

### Exemplo 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 o Deploy

Ao enviar sua aplicação pelo Dashboard da Square Cloud, fique atento a estas etapas:

1.  **Compactação:** Crie um arquivo `.zip` com o seu código fonte e o `package.json` (não inclua a pasta `node_modules`).
2.  **Upload:** No Dashboard, selecione o arquivo para envio.
3.  **Configuração de Rede:** No menu de envio, é fundamental marcar a opção **"Publicar na Web"**.
4.  **Subdomínio:** Defina o nome do seu subdomínio gratuito (ex: `minha-api`). O endereço final será `minha-api.squareweb.app`.

---

## 4. Domínios Personalizados (Plano Standard+)

Se você possui um plano **Standard ou superior**, você não está limitado ao subdomínio `.squareweb.app`.

* Você pode configurar um domínio próprio (ex: `www.suaempresa.com.br`) através da aba **Network** nas configurações da aplicação, conforme detalhado em nossos guias de DNS.
* A Square Cloud gerencia automaticamente o certificado SSL (HTTPS) tanto para o subdomínio gratuito quanto para o seu domínio personalizado.

---

## 5. Dicas de Performance e Segurança

* **Variáveis de Ambiente:** Utilize as ENVs da Square Cloud para gerenciar chaves de API e segredos do banco de dados, evitando expor dados sensíveis no código.
* **Logs de Acesso:** Utilize a aba de **Logs** do dashboard para monitorar requisições e identificar possíveis erros (status 404, 500) em tempo real.