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

# Migre do Heroku para a Square Cloud

> Um guia prático para migrar uma aplicação web, worker ou API do Heroku para a Square Cloud: mapeamento de configuração, passos de deploy e principais diferenças a considerar.

## Por que desenvolvedores migram

O modelo de dynos do Heroku cobra horas de computação e add-ons separadamente, o que torna o custo mensal difícil de prever conforme a aplicação cresce. A Square Cloud adota uma abordagem diferente:

* **Preço fixo e previsível em BRL** — o preço de um único plano cobre RAM, vCPU e armazenamento Blob, sem cobranças de add-ons medidos se acumulando. Veja [Planos e Preços](/pt-br/platform/plans).
* **Recursos dedicados** — RAM e vCPU são reservados para sua aplicação, não capacidade compartilhada de melhor esforço.
* **Deploy em segundos** — envie um zip ou faça push via CLI e sua aplicação está rodando, sem fila de build.

## Mapeamento de conceitos

| Heroku                                          | Square Cloud                                                                                                 |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `Procfile` (tipos de processo `web:`/`worker:`) | [Arquivo de configuração `squarecloud.app`](/pt-br/getting-started/config-file) — campos `MAIN`/`START`      |
| Buildpacks                                      | [Runtimes](/pt-br/runtimes/introduction) — detecção automática de linguagem, sem buildpack para escolher     |
| Config Vars                                     | Variáveis de ambiente, definidas no dashboard ou enviadas de um arquivo `.env`                               |
| Heroku Postgres                                 | [Bancos de dados gerenciados da Square Cloud](/pt-br/services/databases) (PostgreSQL, MySQL, MongoDB, Redis) |
| `heroku logs --tail`                            | Registros do dashboard, ou `squarecloud app logs` pela CLI                                                   |
| Domínios personalizados (dynos pagos)           | Domínios personalizados no [plano Standard ou superior](/pt-br/platform/plans)                               |

## Passos de migração

<Steps>
  <Step title="Crie seu arquivo de configuração">
    Substitua seu `Procfile` por um arquivo `squarecloud.app` na raiz do seu projeto. Um `Procfile` do Heroku como:

    ```
    web: node index.js
    ```

    se torna:

    ```systemd squarecloud.app theme={null}
    MAIN=index.js
    MEMORY=512
    VERSION=recommended
    DISPLAY_NAME=My migrated app
    SUBDOMAIN=my-app
    ```

    Para um tipo de processo worker, remova `SUBDOMAIN` e defina `START` com o comando de inicialização do seu worker. Veja a [referência do arquivo de configuração](/pt-br/getting-started/config-file) para todos os campos.
  </Step>

  <Step title="Defina suas variáveis de ambiente">
    Exporte suas Config Vars do Heroku (`heroku config`) e defina as mesmas chaves na Square Cloud, seja pelo painel de variáveis de ambiente do dashboard ou enviando um arquivo `.env`:

    ```bash theme={null}
    squarecloud app env set --from-file .env --app <appID>
    ```
  </Step>

  <Step title="Faça o deploy">
    Envie seu projeto pela CLI ou pelo dashboard:

    ```bash theme={null}
    squarecloud upload
    ```

    Veja [Como Hospedar seu Site/API](/pt-br/tutorials/how-to-deploy-your-website) para um passo a passo completo dos dois métodos.
  </Step>

  <Step title="Aponte seu DNS">
    Assim que a aplicação estiver no ar em `<subdominio>.squareweb.app`, aponte o DNS do seu domínio para a Square Cloud e vincule-o pela CLI:

    ```bash theme={null}
    squarecloud app network domain example.com --app <appID>
    ```

    Domínios personalizados exigem um plano Standard ativo ou superior.
  </Step>
</Steps>

## Principais diferenças a considerar

* **Região e latência.** O data center da Square Cloud fica localizado em Nova Iorque — veja a [Visão Geral da Plataforma](/pt-br/platform/overview) para detalhes de infraestrutura. Se a maioria dos seus usuários está em uma região diferente da região do seu dyno atual no Heroku, meça a latência antes de migrar.
* **Sem camada gratuita de dyno.** A Square Cloud não tem equivalente a dyno gratuito — um plano pago ativo é necessário para rodar qualquer aplicação. Veja [Planos e Preços](/pt-br/platform/plans) para escolher o tier certo para sua carga de trabalho.
* **Bancos de dados migram separadamente.** Migrar dados do Heroku Postgres significa exportá-los (ex.: `pg_dump`) e restaurá-los em um novo [banco de dados gerenciado da Square Cloud](/pt-br/services/databases) — planeje uma janela de manutenção para a transição.

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