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¶
Editar cloud-front/nginx/nginx.conf y actualizar los valores de server_name.
Modificar el archivo .env con los valores correctos de app_url.
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:
Ir a Settings > Actions > Runners en el repositorio de GitHub.
Ejecutar los comandos proporcionados por GitHub en la VM.
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.