Native Installation

In a scenario where you need to have the agent run locally on a machine or to run commands that cannot be executed from within a docker container, you can always install it natively (pm2).

Follow the steps below to install Kaholo Agent on your machine:

Step 1: Install Node.js LTS

For Windows OS, we recommend using Choco. Instructions on Choco can be found on this link:

After installing Choco, run this:

choco install nodejs-lts

For any other OS, follow the Node.js instructions using this link:

Step 2: Install pm2 and clone Kaholo-agent

Use the codes below to install pm2 and clone the Kaholo Agent.

#install pm2
npm i pm2 -g#clone kaholo-agent
git clone dependencies
cd kaholo-agent && npm install –production

Step 3: Set Configuration

After doing steps 1 and 2, configure the Kaholo Agent settings. Copy kaholo-agent.conf.example to kaholo-agent.conf. Note that kaholo-agent.conf is the configuration file for the agent and it contains the following options:

Options Description
PORT The port which the agent will run.

Note: the default port is 8090, if you use any other port, you will also need to adjust the docker run command.

SERVER_URL The URL of the Kaholo server that you want to connect to.
AGENT_KEY A unique random 64 characters to identify this specific agent.
AMQP_HOST The host of the queue, usually the same as the server.
AMQP_PORT The port of the AMQP server is usually 5671.
AMQP_USER twiddlebugs
AMQP_PASSWORD twiddlebugs
AMQP_RESULT_QUEUE actions-outcome
AMQP_CERT_PATH The path to the agent crt file.
AMQP_KEY_PATH The path to the agent pem file.

Step 4: Run the Agent

After installing the Kaholo Agent, try a test run to see if it was successfully installed. From the agent directory, run:

pm2 start app.js –name “kaholo-agent”

Known Native Installation Issues

The pm2 environment is conservative and when you run a new process, the new environment variables will not be updated into the existing process. This commonly affects native installations on Windows machines.

To resolve the outdated environment variables issue, you need to restart the agent using this command:

pm2 restart kaholo-agent –update-env


Currently, there is a known issue on the agent_key and the port/IP the agent is using for being coupled for agent identification.

This means that you must always use a unique key for each agent, and change the key if you move the agent to any other port/IP. Otherwise, the agent won’t be able to connect correctly and will be marked as a red flag in the system. Rest assured, we are working on a fix for this issue and other agent-related issues to ensure seamless automation.

Page Contents