Skip to main content

Installing Pulse-IT/Automate-IT Worker on Docker

Requirements To install Pulse-IT/Automate-IT Worker on Docker, you will need:

  • a Pulse-IT/Automate-IT server running
  • a server running a Linux of your choice and with Docker and Docker Compose installed
  • at least 16 GB of RAM for the worker (more may be required depending on the tasks you run)
  • at least 250 GB of free disk space
  • access to a shared storage (R/W).

Note: For a simple install or a preproduction environment, you may install a worker on the same machine as the server.

Installation

Preparation steps

Docker installation on CentOS, Redhat, Amazon Linux

$> sudo yum install docker
$> sudo service docker start
$> sudo usermod -a -G docker $(whoami)
$> sudo chkconfig docker on
$> sudo yum install -y git
$> sudo reboot

Download docker-compose from Github

$> wget https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)
$> sudo mv docker-compose-$(uname -s)-$(uname -m) /usr/local/bin/docker-compose
$> sudo chmod -v +x /usr/local/bin/docker-compose

Docker installation on Rocky Linux

$> sudo dnf check-update
$> sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$> sudo dnf install docker-ce docker-ce-cli containerd.io
$> sudo systemctl start docker
$> sudo systemctl enable docker
$> sudo usermod -aG docker $(whoami)
$> exit
Exit And reconnect

Login into Embrace Docker repository

$ docker login

user: embracecustomer
pwd:

Install Pulse-IT/Automate-IT

Prepare the installer

  • Copy the installer to a folder of your choice
unzip <installer>.zip
  • Enter into installer folder
  • Edit the .local.env file

Uncomment the following lines and replace their values to match your environment:

RABBITMQ_HOST={RabbitMQ-HostIP} 	# Rabbitmq Host IP without protocol prefix, use Pulse-IT/Automate-IT address if not using an external RabbitMQ
RABBITMQ_SSL=True # True if RabbitMQ is using SSL
RABBITMQ_USER= # RabbitMQ user name, leave empty if using the default user
RABBITMQ_PWD= # RabbitMQ password, leave empty if using the default password
SERVER_ADDRESS=http://{serverIP} # Pulse-IT/Automate-IT address with protocol prefix
SERVER_USER=admin # Pulse-IT/Automate-IT Admin User name used to connect worker
SERVER_PASSWORD=admin # Pulse-IT/Automate-IT Admin password no encryption
NODE_NAME=OhMyNode-1 # Worker node name shown in the Pulse-IT/Automate-IT worker UI
  • Add execute permission to the embrace-app.sh script
chmod +x embrace-app.sh

Install Pulse-IT/Automate-IT

$> ./embrace-app.sh   

Check the worker is working properly

  • Open a web browser and navigate to http://{your-server-ip}
  • Navigate to Monitor > Nodes
  • Click on the Nodes list tab
  • A worker with the name you specified during configuration (NODE_NAME) should be displayed in the list.
  • The first three icons should be green on the worker, indicating a successful connection.

The embrace-app.sh helper script

Your installation folder contains a helper script. Without any option, the script will execute the docker-compose up command.

Options available:

=============================================================
Embrace Utility Script
=============================================================
Usage ./embrace-app.sh [option]
--restart to restart Embrace application
--down to stop and remove application containers
--upgrade to upgrade existing installation
--status to see containers status
--use-external-db to use external existing database (Database won't be created and managed by this script)
--use-external-services to use external existing database, RabbitMQ and Redis (Database, RabbitMQ and Redis won't be created and managed by this script)
--default-shared-storage <mountPath> specify a storage to mount when starting app. This option is required for no input install.
--mount-volume <mountPath> to mount a volume shared between the host and containers

Examples:
Install the app without requesting user input for default shared storage
./embrace-app.sh --default-shared-volume /mnt/sharing

Mount a storage at /mnt/sharing for shared usage between the host and app container:
./embrace-app.sh --mount-volume /mnt/sharing

Volume mapping

Let's say you have a host mounted shared point on /mnt/sharing and that you want to have it available mounted on Pulse-IT/Automate-IT Worker

Run the utility script with option --mount-volume

$> ./embrace-app.sh --mount-volume /mnt/sharing

Upgrading a Pulse-IT/Automate-IT worker

  • Copy the installer to your server
  • Run the embrace-app.sh script
./embrace-app.sh --upgrade
  • Check the worker is working properly