> For the complete documentation index, see [llms.txt](https://magecomp-docs.gitbook.io/adobe-apps/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://magecomp-docs.gitbook.io/adobe-apps/documentation/google-indexing-adobe-app/installation-instructions.md).

# Installation Instructions

**Prerequisites**

* Node.js 18+
* Adobe I/O CLI

**Adobe Console preparation**

**Create a new project**

Go to console.adobe.io and create a new project from template: "App Builder"

To required environment add:

* I/O Events

**Installation**

**Step 1: Clone** the repository

**Step 2:** Run **npm install** to install the dependencies

**Step 3:** Go to ( <https://developer.adobe.com/console> ) **Project**, select **Environment**, and click on the **"Download All"** button.

**Step 4:** Execute the **aio app use \<path-to-file>** with the file you just downloaded. (Merge files if you already have a .env file)

Edit the **.env** file with your project details. Set the following variables:

**ADOBE I/O RUNTIME CONFIGURATION**

* Runtime authentication token (get from Adobe I/O Console)

AIO\_runtime\_auth=YOUR\_RUNTIME\_AUTH\_TOKEN

* Your Adobe App Builder namespace (e.g., 1234567-your-app-name-stage)

AIO\_runtime\_namespace=YOUR\_NAMESPACE

* Adobe I/O Runtime host (usually <https://adobeioruntime.net>)

AIO\_runtime\_apihost=<https://adobeioruntime.net>&#x20;

**ADOBE IMS AUTHENTICATION CONTEXT**

* IMS Context Configuration (replace YOUR\_CONTEXT\_NAME with your actual context name)
* Get these values from Adobe I/O Console > Project > Credentials
* Client ID from your Adobe I/O Console project

AIO\_ims\_contexts\_YOUR\_CONTEXT\_NAME\_client\_\_id=YOUR\_CLIENT\_ID

* Client secrets (JSON array format)

AIO\_ims\_contexts\_YOUR\_CONTEXT\_NAME\_client\_\_secrets=\["YOUR\_CLIENT\_SECRET"]

* Technical account email

AIO\_ims\_contexts\_YOUR\_CONTEXT\_NAME\_technical\_\_account\_\_email=<YOUR_TECHNICAL_ACCOUNT_EMAIL@techacct.adobe.com>

* Technical account ID

AIO\_ims\_contexts\_YOUR\_CONTEXT\_NAME\_technical\_\_account\_\_id=<YOUR_TECHNICAL_ACCOUNT_ID@techacct.adobe.com>

* Required scopes (JSON array format)

AIO\_ims\_contexts\_YOUR\_CONTEXT\_NAME\_scopes=\["openid","AdobeID","event\_receiver\_api","read\_organizations"]

* IMS Organization ID

AIO\_ims\_contexts\_YOUR\_CONTEXT\_NAME\_ims\_\_org\_\_id=YOUR\_IMS\_ORG\_ID\@AdobeOrg

**APPLICATION SPECIFIC CONFIGURATION**

* Service API Key (usually same as client ID)

SERVICE\_API\_KEY=YOUR\_SERVICE\_API\_KEY

**NOTE - If the above parameters has been included in the .env file then there is no requirement for this configuration.**

* Credentials encryption key (generate a random 32-character string)

CREDENTIALS\_ENCRYPTION\_KEY=YOUR\_32\_CHARACTER\_ENCRYPTION\_KEY

* Generate a random encryption key:

Use: openssl rand -hex 32

Or any 32-character random string

### OAuth Configuration (Alternative Method)

OAUTH\_CLIENT\_ID=YOUR\_CLIENT\_ID

OAUTH\_CLIENT\_SECRET=YOUR\_CLIENT\_SECRET

OAUTH\_TECHNICAL\_ACCOUNT\_ID=<YOUR_TECHNICAL_ACCOUNT_ID@techacct.adobe.com>

OAUTH\_TECHNICAL\_ACCOUNT\_EMAIL=<YOUR_TECHNICAL_ACCOUNT_EMAIL@techacct.adobe.com>

OAUTH\_ORG\_ID=YOUR\_IMS\_ORG\_ID\@AdobeOrg

OAUTH\_SCOPES=AdobeID, openid, read\_organizations, additional\_info.projectedProductContext

**NOTE - The above variables must be configured compulsorily in the .env file.**

**Step 5:** Run **aio app deploy** to deploy the app.
