> ## 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 n8n en Square Cloud

> Este tutorial te guiará para crear y desplegar tu aplicación de n8n en Square Cloud.

## Introducción

* Este artículo te guía a través de la creación y el alojamiento de una aplicación de n8n 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 con al menos 4GB de RAM 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 javascript. Para hacer esto, necesitamos un package.json.
* El package.json debe contener en el campo de dependencias n8n y debe tener los scripts para iniciarlo. Aquí está el ejemplo:

```json package.json theme={null}
{
  "name": "squarecloud-n8n",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "n8n"
  },
  "author": "Square Cloud Education <squarecloud.app>",
  "license": "ISC",
  "dependencies": {
    "n8n": "latest"
  }
}
```

<Info>
  Ya tenemos todo listo para el deploy en nuestro repositorio [aquí](https://github.com/squarecloud-education/n8n-web/releases). Solo necesitas descargar el `project.zip` y subirlo.
</Info>

## 📁 Archivos Necesarios

Los siguientes archivos son necesarios en tu zip:

* package.json
* .env (opcional)

## ⚙️ Archivo de Configuración

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

```systemd squarecloud theme={null}
DISPLAY_NAME=App name
RUNTIME=nodejs
START=npm run start
MEMORY=3072
VERSION=recommended
SUBDOMAIN=my-n8n-subdomain
```

* A continuación, necesitamos establecer 2 variables de entorno, `N8N_HOST` y `N8N_PORT` en un archivo `.env` o en el entorno de Square Cloud en el menú de subida. Sus valores deben ser `0.0.0.0` y `80`.

```systemd .env theme={null}
N8N_HOST=0.0.0.0
N8N_PORT=80
```

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