Documentación de Instalación

Nota

IMPORTANTE: Siempre que realicemos actualizaciones en nuestra documentación de instalación, estas deben haber sido previamente verificadas paso a paso en un proceso práctico de ensayo de instalación.

Introducción

Esta documentación proporciona una guía paso a paso para la instalación completa del sistema Portal Unimate RPA. Incluye la configuración del entorno, la instalación del software necesario y la configuración del sistema. En este ejemplo, el portal está instalado 100% en un ecosistema Docker y utiliza un Nginx reverse proxy para gestionar los puertos de entrada de la aplicación.

Requisitos Previos

  • Imagen del sistema: Ubuntu Server 22.04 LTS - x64 Gen2

  • Autenticación: SSH public key

  • Formato de clave SSH: RSA

  • Nombre del par de claves: test-vm_key

  • Puertos entrantes públicos:

    • 22 (SSH)

    • 443 (HTTPS)

    • 80 (HTTP)

Software Requerido

  • Docker Engine

  • Acceso: usuario nombredelusuario + clave SSH

Configuración del Entorno

Actualizar el sistema:

$ sudo apt update && sudo apt upgrade -y

Instalar dependencias y añadir clave GPG oficial de Docker:

$ 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

Añadir el repositorio de Docker a los recursos Apt del sistema:

$ 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

Instalar Docker Engine:

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verificar la instalación de Docker:

$ sudo systemctl status docker

(Opcional) Permitir al usuario actual ejecutar Docker sin sudo:

$ sudo usermod -aG docker $USER

Nota

Después de agregar el usuario al grupo docker, cierra la sesión y vuelve a iniciarla, o reinicia la máquina para que los cambios surtan efecto.

Docker Hub o GitHub Packages Registry

Docker Hub o ghcr.io será donde se hospedarán las imágenes de Docker. Para realizar el despliegue del sistema se realizará un pull de las imágenes.

Exportar variable de entorno CR_PAT (Token de acceso personal en GitHub):

$ export CR_PAT=github_pat_XXXXXXXXXXXXXXX
$ echo $CR_PAT | docker login ghcr.io -u mmollcode --password-stdin

Login en Docker Hub:

$ echo "dckr_pat_GXXXXXXXXXXXX" | docker login -u unimaterpadockerhub --password-stdin

Verificar acceso a Docker Hub:

$ sudo docker pull hello-world

Reiniciar el servicio de Docker:

$ sudo systemctl restart docker

Descargar las imágenes de la aplicación:

$ docker pull unimaterpadockerhub/cloud-front:latest
$ docker pull unimaterpadockerhub/cloud-api:latest

Descompresión del paquete de instalación

El archivo setup_files.tar.gz contiene la estructura de directorios y archivos necesarios para la instalación.

Descomprimir el paquete:

$ tar -xzvf setup_files.tar.gz

Configuración de Nginx y Variables de Entorno

  1. Editar cloud-front/nginx/nginx.conf y actualizar los valores de server_name.

  2. Modificar el archivo .env con los valores correctos de app_url.

  3. Ajustar el archivo JSON de Firebase Admin SDK si es necesario.

GitHub Runners

Para ejecutar despliegues automáticos con GitHub Actions, se deben configurar los runners autohospedados.

Instalar y configurar un GitHub Runner:

  1. Ir a Settings > Actions > Runners en el repositorio de GitHub.

  2. Ejecutar los comandos proporcionados por GitHub en la VM.

  3. Asignar labels adecuados (develop, cloud-front etc.).

Ejecutar los comandos de instalación:

$ sudo ./svc.sh install
$ sudo ./svc.sh start

Detener y desinstalar el Runner:

$ sudo ./svc.sh stop
$ sudo ./svc.sh uninstall

Deploy con Docker Compose

Ejecutar docker-compose:

$ docker compose up -d

Revisión manual de configuración:

Antes de proceder con el despliegue, revisar el archivo docker-compose.yml y asegurarse de que las imágenes corresponden al ambiente correcto:

services:
  nginx:
    image: unimaterpadockerhub/cloud-front:develop

Conclusión

La instalación del Portal Unimate RPA requiere la correcta configuración del entorno, credenciales y variables de entorno. Se recomienda siempre verificar cada paso antes de proceder con un despliegue en producción.