Skip to main content
Version: 6.0.9

Installation

A single instance Interactor® is available as a docker image. You may start an instance of Interactor using the following docker-compose.yaml.

Pre-requisite

  • Make sure Docker is running in your system.

Steps

Step 1. Create a docker-compose.yaml file in a directory of your choice. The code is provided below.

Step 2. Start Interactor by issuing the following command from the same directory as the docker-compose.yaml.

docker compose up

Step 3. Browse to localhost:4000 to access Interactor Engine Admin.

Docker Compose File

docker-compose.yaml
version: '3'
services:
db:
image: postgres:15
restart: always
environment:
POSTGRES_DB: interactor
POSTGRES_USER: interactor
POSTGRES_PASSWORD: interactor
ports:
- 5432:5432
healthcheck:
test: /usr/bin/pg_isready -h localhost -U $$POSTGRES_USER
interval: 1s
timeout: 10s
retries: 120
volumes:
- ./data-postgres:/var/lib/postgresql/data
interactor-language-javascript:
image: interactor/interactor-language-javascript:latest
pull_policy: always
restart: always
interactor:
image: interactor/interactor:latest
depends_on:
- db
ports:
- 1290:1290
- 4000:4000
environment:
PGUSER: interactor
INTERACTOR_DATASTORE: postgres
INTERACTOR_POSTGRES_DB: interactor
INTERACTOR_POSTGRES_USER: interactor
INTERACTOR_POSTGRES_PASSWORD: interactor
INTERACTOR_POSTGRES_HOSTNAME: db
INTERACTOR_JAVASCRIPT_ADAPTER_ADDRESS: interactor-language-javascript
INTERACTOR_MANAGER_API_KEY: default
# Access-Control-Allow-Origin setting for CORS. Space separated list of URLs. * indicates all origins. CORS is disabled without this value.
# INTERACTOR_CORS_ORIGIN: *
INTERACTOR_HISTORY: redis://redis:6379
pull_policy: always
restart: always
redis:
image: redis:alpine
restart: always
ports:
- 6379:6379

Once interactor Engine is installed, it may be customized using HTTP REST API operations.

  • Add and enable services for the platform users
  • Notification port (Could be part of env var, but able to change using API)
  • User role definition and access control

Default settings

  • The latest official release of Interactor image is on interactor/interactor:latest.

  • Interactor environment variable INTERACTOR_MANAGER_API_KEY is set to default.

    • Everybody who installs the unlicensed version has the same default API Key
    • API Key is can be updated with an official Interactor license

How API key is used

Once you are ready to deploy, you enter the API Key of your choice. Your API Key can be any string value.

When making API call the Interactor engine, API Key is entered in the header.

API Call

curl --location 'http://localhost:1290/v1/service' --header 'api_key: default'
danger

A licensed version of Interactor is needed to change the API Key.

INTERACTOR_MANAGER_API_KEY is ignored without a license.

  • It is recommended that you change the API Key for security reasons.
  • The API Key is for using Interactor through API calls.
  • API calls are authenticated using API Key that is shared between the UI and Interactor.

Deleting existing database

tip

Remove ./data-postgres directory if exists. This resets everything to a new installation.

rm -r data-postgres

Ports opened on the docker

5432: PostgreSQL Database
4000: Interactor user interface
1290: API calls