Installation Documentation¶
Note
IMPORTANT: Whenever we make updates to our installation documentation, these must have been previously verified step by step in a practical installation test process.
Introduction¶
This documentation provides a step-by-step guide for the complete installation of the Unimate Portal system RPA. It includes configuration of the environment, installation of the required software and system setup. In this example, the portal is installed 100% in a Docker ecosystem and uses an Nginx reverse proxy to manage the inbound ports of the application.
Prerequisites¶
Imagen del sistema: Ubuntu Server 22.04 LTS - x64 Gen2
Authentication: SSH public key
SSH key format: RSA
Key pair name: test-vm_key
Public incoming ports:
22 (SSH)
443 (HTTPS)
80 (HTTP)
Required software¶
Docker Engine
Access: user
username
+ SSH key
Environment Configuration¶
Updating the system:
$ sudo apt update && sudo apt upgrade -y
Install dependencies and add official Docker GPG key:
$ sudo apt-get update
$ sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
Add the Docker repository to the Apt resources of the system:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
Install the Docker Engine:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verify Docker installation:
$ sudo systemctl status docker
(Optional) Allow the current user to run Docker without sudo:
$ sudo usermod -aG docker $USER
Note
After adding the user to the docker group, log out and log back in, or reboot the machine for the changes to take effect.
Docker Hub o GitHub Packages Registry¶
Docker Hub or ghcr.io will be where the Docker images will be hosted. To deploy the system, a pull of the images will be performed.
Export environment variable CR_PAT (Personal Access Token in GitHub):
$ export CR_PAT=github_pat_XXXXXXXXXXXXXXX
$ echo $CR_PAT | docker login ghcr.io -u mmollcode --password-stdin
Login and Docker Hub:
$ echo "dckr_pat_GXXXXXXXXXXXX" | docker login -u unimaterpadockerhub --password-stdin
Verificar access to Docker Hub:
$ sudo docker pull hello-world
Restart the Docker service:
$ sudo systemctl restart docker
Download the images of the application:
$ docker pull unimaterpadockerhub/cloud-front:latest
$ docker pull unimaterpadockerhub/cloud-api:latest
Decompression of the installation package¶
The setup_files.tar.gz file contains the directory and file structure required for the installation.
Unzip the package:
$ tar -xzvf setup_files.tar.gz
Nginx Configuration and Environment Variables¶
Edit cloud-front/nginx/nginx.conf and update the
server_name
values.Modify the
.env
file with the correctapp_url
values.Adjust the Firebase Admin SDK JSON file if necessary.
GitHub Runners¶
To run automatic deployments with GitHub Actions, self-hosted runners must be configured.
Install and configure a GitHub Runner:
Ir a
Settings > Actions > Runners
en el repositorio de GitHub.Execute the commands provided by GitHub in the VM.
Asignar labels adecuados``(develop, cloud-front`` etc.).
Execute the installation commands:
$ sudo ./svc.sh install
$ sudo ./svc.sh start
Stop and uninstall the Runner:
$ sudo ./svc.sh stop
$ sudo ./svc.sh uninstall
Deploy con Docker Compose¶
Ejecutar docker-compose:
$ docker compose up -d
Manual configuration review:
Before proceeding with the deployment, review the docker-compose.yml
file and make sure that the images correspond to the correct environment:
services:
nginx:
image: unimaterpadockerhub/cloud-front:develop
Conclusion¶
The installation of the Unimate Portal RPA requires the correct configuration of the environment, credentials and environment variables. It is always recommended to verify each step before proceeding with a production deployment.