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

# Cómo desplegar tu PG Admin

> Aprende a alojar tu pgadmin para acceder a tu base de datos PostGreSQL desde cualquier lugar

## Introducción

* Este artículo te guía a través de la creación y el alojamiento de una aplicación de PG Admin en Square Cloud.
* Antes de comenzar, asegúrate de tener una cuenta en Square Cloud, lo cual puede hacerse a través de la página de registro. Puedes usar tu correo electrónico para crear una cuenta.
* Por último, necesitas tener un plan de pago activo en tu cuenta. Puedes ver nuestros planes y adquirir uno según tus necesidades [aquí](https://squarecloud.app/es/pricing).

## Creando el Proyecto

* Antes que nada necesitamos un entorno de Python. Para hacer esto, necesitamos un `requirements.txt` o un `pyproject.toml`.
  Puedes ver cómo crear un requirements.txt [aquí](https://docs.squarecloud.app/es/articles/how-to-create-your-requirements).
* Tu `requirements.txt` debe tener `pgadmin4` y un servidor web para servirlo. En este tutorial, usaremos `gunicorn`.

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

* A continuación, necesitarás un archivo de configuración `config_local.py` para definir algunas rutas. Estas rutas definirán dónde guardar cierta información sobre tu 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>
  Ya tenemos todo listo para el deploy en nuestro repositorio [aquí](https://github.com/squarecloud-education/pgadmin4-web/releases). Solo necesitas descargar el `project.zip` y subirlo.
</Info>

## 📁 Archivos Necesarios

Los siguientes archivos son necesarios en tu zip:

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

## ⚙️ Archivo de Configuración

* Necesitas configurar el entorno de ejecución en `Detectar manualmente` y establecerlo en `Python`. En un squarecloud.config o squarecloud.app se verá así:

```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
```

* A continuación, necesitamos establecer 2 variables de entorno, `PGADMIN_SETUP_EMAIL` y `PGADMIN_SETUP_PASSWORD` en un archivo `.env` o en el entorno de Square Cloud en el menú de subida.

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

## Subiendo el Proyecto a Square Cloud

Después de preparar los archivos de tu proyecto, ya puedes subirlos a Square Cloud y alojar tu proyecto.

<Tabs>
  <Tab title="Subir mediante el Dashboard">
    Accede al [Dashboard de Square Cloud](https://squarecloud.app/es/dashboard/new) y sube los archivos de tu proyecto.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Subiendo aplicación a Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Tab>

  <Tab title="Subir mediante la CLI">
    <Steps>
      <Step title="Primer Paso">
        Primero, necesitas tener la CLI instalada en tu entorno. Si aún no la tienes, ejecuta el siguiente comando en tu terminal:

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

        Si ya la tienes, te recomendamos actualizarla. Para hacerlo, ejecuta el siguiente comando en tu terminal:

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

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

      <Step title="Segundo Paso">
        Ahora, para autenticarte y usar otros comandos de la CLI, encontrarás tu clave de autorización [aquí](https://squarecloud.app/es/account/security) haciendo clic en "Request API Key". Después de obtener tu clave de autorización, ejecuta el siguiente comando:

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

      <Step title="Tercer Paso">
        Por último, para desplegar tu aplicación en Square Cloud usando la CLI, necesitas ejecutar el siguiente comando, pasando la ruta a tu archivo zip:

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