> ## 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 implantar seu PG Admin

> Aprenda como hospedar seu pgadmin para acessar seu banco de dados PostGreSQL de qualquer lugar

## Introdução

* Este artigo guia você na criação e hospedagem de uma aplicação PG Admin na Square Cloud.
* Antes de começar, certifique-se de ter uma conta na Square Cloud, que pode ser criada através da página de cadastro. Você pode usar seu e-mail para criar uma conta.
* Por fim, você precisa ter um plano pago ativo em sua conta. Você pode visualizar nossos planos e adquirir um de acordo com suas necessidades [aqui](https://squarecloud.app/pt-br/pricing).

## Criando o Projeto

* Primeiramente, precisamos de um ambiente Python. Para isso, precisamos de um `requirements.txt` ou um `pyproject.toml`.
  Você pode ver como criar um requirements.txt [aqui](https://docs.squarecloud.app/pt-br/articles/how-to-create-your-requirements).
* Seu `requirements.txt` deve conter `pgadmin4` e um servidor web para servi-lo. Neste tutorial, usaremos o `gunicorn`.

```txt requirements.txt theme={null}
pgadmin4
gunicorn
```

* Em seguida, você precisará de um arquivo de configuração `config_local.py` para definir alguns caminhos. Esses caminhos irão determinar onde salvar algumas informações sobre o seu pgadmin.

```py config_local.py theme={null}
SERVER_MODE = True
MAX_LOGIN_ATTEMPTS = 3
"""
    CRITICAL 50
    ERROR    40
    WARNING  30
    SQL      25
    INFO     20
    DEBUG    10
    NOTSET    0
"""
CONSOLE_LOG_LEVEL = 10
DATA_DIR = "/application/.pgadmin/"
LOG_FILE = "/application/.pgadmin/logfile"
SQLITE_PATH = '/application/.pgadmin/pgadmin4.db'
```

<Info>
  Já temos tudo pronto para deploy em nosso repositório [aqui](https://github.com/squarecloud-education/pgadmin4-web/releases). Você só precisa baixar o `project.zip` e fazer o upload.
</Info>

## 📁 Arquivos Necessários

Os seguintes arquivos são necessários no seu zip:

* requirements.txt ou pyproject.toml
* .env (opcional)

## ⚙️ Arquivo de Configuração

* Você precisa configurar o ambiente de execução para `Detectar manualmente` e defini-lo como `Python`. Em um arquivo squarecloud.config ou squarecloud.app ficará assim:

```systemd squarecloud theme={null}
DISPLAY_NAME=App name
RUNTIME=python
MEMORY=1024
START=python -m gunicorn --bind 0.0.0.0:80 --workers=1 --threads=4 pgadmin4.pgAdmin4:app
VERSION=recommended
SUBDOMAIN=my-pgadmin-subdomain
```

* Em seguida, precisamos definir 2 variáveis de ambiente, `PGADMIN_SETUP_EMAIL` e `PGADMIN_SETUP_PASSWORD` em um arquivo `.env` ou no ambiente da Square Cloud no menu de upload.

```systemd .env theme={null}
PGADMIN_SETUP_EMAIL=accessemail@example.com
PGADMIN_SETUP_PASSWORD=yourSecurePassword
```

## Fazendo o Upload do Projeto para a Square Cloud

Após preparar os arquivos do seu projeto, você pode agora fazer o upload para a Square Cloud e hospedar seu projeto.

<Tabs>
  <Tab title="Upload via Dashboard">
    Acesse o [Dashboard da Square Cloud](https://squarecloud.app/pt-br/dashboard/new) e envie os arquivos do seu projeto.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading-pt-br.gif" alt="Enviando aplicação para a Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Tab>

  <Tab title="Upload via CLI">
    <Steps>
      <Step title="Primeiro Passo">
        Primeiro, você precisa ter o CLI instalado no seu ambiente. Se ainda não tiver, execute o seguinte comando no seu terminal:

        ```
        npm install -g @squarecloud/cli
        ```

        Se você já tiver, recomendamos atualizá-lo. Para isso, execute o seguinte comando no seu terminal:

        <Tabs>
          <Tab title="Windows">
            ```bash theme={null}
            squarecloud update
            ```
          </Tab>

          <Tab title="Linux, macOS e WSL">
            ```bash theme={null}
            curl -fsSL https://cli.squarecloud.app/install | bash
            ```
          </Tab>
        </Tabs>
      </Step>

      <Step title="Segundo Passo">
        Agora, para autenticar e usar outros comandos do CLI, você encontrará sua chave de autorização [aqui](https://squarecloud.app/pt-br/account/security) clicando em "Solicitar Chave de API". Após obter sua chave de autorização, execute o seguinte comando:

        ```bash theme={null}
        squarecloud auth login
        ```
      </Step>

      <Step title="Terceiro Passo">
        Por fim, para fazer deploy da sua aplicação na Square Cloud usando o CLI, você precisa executar o seguinte comando, passando o caminho para o seu arquivo zip:

        ```bash theme={null}
        squarecloud upload zip
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>
