> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Como hospedar um site ou uma API

> Hospede um site ou uma API na Square Cloud: configure o squarecloud.app com SUBDOMAIN e porta 80, veja exemplos estáticos e de Next.js e guias de frameworks.

## Introdução

Para hospedar sites e APIs na Square Cloud, é fundamental seguir os procedimentos adequados de configuração e atender aos pré-requisitos técnicos necessários. Este guia mostra o processo completo, do arquivo de configuração ao deploy.

### Pré-requisitos técnicos

* **Conta na Square Cloud**: crie sua conta através da [página de cadastro](https://squarecloud.app/pt-br/signup), utilizando seu endereço de e-mail para registro.
* **Plano ativo**: é necessário possuir um plano ativo para garantir recursos adequados e performance otimizada. Consulte nossos [planos disponíveis](https://squarecloud.app/pt-br/pricing) e escolha o mais adequado às suas necessidades.

## Configuração do arquivo Square Cloud

<Card title="Aprenda sobre: como criar o arquivo de configuração para a Square Cloud." icon="link" href="/pt-br/getting-started/config-file">
  O arquivo squarecloud.app é um arquivo de configuração essencial que será utilizado para configurar sua aplicação na Square Cloud. Ele define nome, descrição, versão, arquivo principal, entre outras configurações fundamentais.
</Card>

### Parâmetros essenciais para sites

O seu servidor precisa escutar na **porta 80** e no **host `0.0.0.0`** (todas as interfaces de rede): é ali que a Square Cloud entrega o tráfego do seu subdomínio. Ela define as variáveis de ambiente `PORT` (`80`) e `HOST` (`0.0.0.0`) para você, então leia a porta da `PORT` e mantenha `80` como valor padrão:

<CodeGroup>
  ```javascript Node.js theme={"system"}
  const port = Number(process.env.PORT) || 80;
  app.listen(port, "0.0.0.0");
  ```

  ```python Python theme={"system"}
  import os

  port = int(os.environ.get("PORT", 80))
  app.run(host="0.0.0.0", port=port)
  ```
</CodeGroup>

Muitos frameworks, como o Next.js e o Nuxt, já leem a `PORT` sozinhos. Sites estáticos não precisam de servidor nem do parâmetro `START`.

**Parâmetros principais do arquivo de configuração squarecloud.app:**

* `SUBDOMAIN`: para hospedagem de sites, defina este parâmetro com o subdomínio desejado. Defina-o no primeiro upload: uma aplicação enviada sem subdomínio não pode ganhar um depois.
* `START`: comando de inicialização personalizado (quando necessário).
* `MEMORY`: RAM alocada para sua aplicação, em megabytes. Sites e APIs precisam de pelo menos 512. Curioso sobre por que existe um valor mínimo? Veja [por que existem mínimos de RAM](/pt-br/platform/limitations-and-restrictions#por-que-existem-mínimos-de-ram).

<Note>A URL do site será: `meu-parametro-subdominio`.squareweb.app</Note>

### Exemplos de configuração

**Exemplo 1: site estático sem comando de inicialização personalizado**

```systemd theme={"system"}
MAIN=index.html
MEMORY=512
VERSION=recommended
DISPLAY_NAME=Meu website estático simples!
SUBDOMAIN=meusite-website-simples
```

**Exemplo 2: site Next.js com comando de inicialização personalizado**

```systemd theme={"system"}
RUNTIME=nodejs
MEMORY=1024
VERSION=recommended
DISPLAY_NAME=Meu website Next.js simples!
SUBDOMAIN=meusite-nextjs-website
START=npm run start
```

Rode `npm run build` na sua máquina antes e inclua a pasta `.next` no zip: a Square Cloud não instala as `devDependencies`, então o build não roda no servidor. Com um comando `START`, o `RUNTIME=nodejs` escolhe o runtime Node.js e nenhum arquivo `MAIN` é necessário. Para os detalhes específicos do framework, veja o [guia do Next.js](/pt-br/tutorials/website/nextjs).

### Domínio personalizado

Para servir o seu site no seu próprio domínio (ex.: `meusite.com`) em vez de `meusite.squareweb.app`, você precisa do plano Standard ou superior. Siga [como configurar seu próprio domínio](https://help.squarecloud.app/pt-br/article/como-configurar-seu-proprio-dominio-cnamedns-j39hh2/) na central de ajuda.

## Suporte para múltiplas tecnologias

A Square Cloud oferece suporte abrangente para diversas tecnologias de desenvolvimento web, proporcionando flexibilidade na escolha da stack tecnológica mais adequada ao seu projeto.

<CardGroup cols={2}>
  <Card title="React" icon="react" href="/pt-br/tutorials/website/react">
    Aprenda como hospedar seu site React na Square Cloud.
  </Card>

  <Card title="Next.js" icon="node-js" href="/pt-br/tutorials/website/nextjs">
    Aprenda como hospedar seu site Next.js na Square Cloud.
  </Card>

  <Card title="NestJs" icon="js" href="/pt-br/tutorials/api/nestjs">
    Aprenda como hospedar sua aplicação NestJs na Square Cloud.
  </Card>

  <Card title="Vite" icon="rocket" href="/pt-br/tutorials/website/vite">
    Aprenda como hospedar seu site Vite na Square Cloud.
  </Card>

  <Card title="Vue" icon="vuejs" href="/pt-br/tutorials/website/vue">
    Aprenda como hospedar seu site Vue na Square Cloud.
  </Card>

  <Card title="Express" icon="node-js" href="/pt-br/tutorials/api/express">
    Aprenda como hospedar sua API Express na Square Cloud.
  </Card>

  <Card title="Flask" icon="flask" href="/pt-br/tutorials/api/flask">
    Aprenda como hospedar sua aplicação Flask na Square Cloud.
  </Card>

  <Card title="Django" icon="python" href="/pt-br/tutorials/api/django">
    Aprenda como hospedar sua aplicação Django na Square Cloud.
  </Card>

  <Card title="FastAPI" icon="python" href="/pt-br/tutorials/api/fastapi">
    Aprenda como hospedar sua aplicação FastAPI na Square Cloud.
  </Card>

  <Card title="Lavalink" icon="java" href="/pt-br/tutorials/how-to-create-your-lavalink-server">
    Aprenda como hospedar seu servidor Lavalink e transmitir música de alta qualidade para seu bot do Discord.
  </Card>
</CardGroup>

## Próximos passos

<CardGroup cols={3}>
  <Card title="A aplicação não inicia" icon="triangle-exclamation" href="/pt-br/platform/troubleshooting/app-wont-start">
    Corrija conflitos de porta, módulos faltando e outras falhas na inicialização.
  </Card>

  <Card title="Variáveis de ambiente" icon="key" href="/pt-br/platform/environment-variables">
    Mantenha chaves de API e connection strings fora do código.
  </Card>

  <Card title="Banco de dados gerenciado" icon="database" href="/pt-br/tutorials/how-to-deploy-your-database">
    Crie um banco de dados para o seu site ou API.
  </Card>
</CardGroup>

## Contate-nos

Se você continuar enfrentando **dificuldades técnicas**, nossa **equipe de suporte especializada** está disponível para auxiliá-lo. [**Entre em contato conosco**](https://squarecloud.app/pt-br/support) e teremos prazer em ajudá-lo a resolver qualquer questão: a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com [**4,9/5 em 402 avaliações**](https://www.trustpilot.com/review/squarecloud.app) no Google e Trustpilot.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.