Proceso de instalación de Sherpa Orchestrator#
Instalación de Sherpa Orchestrator#
Extracción de los archivos de cliente#
En esta etapa, extraerá el archivo de actualización de Sherpa Orchestrator y preparará el sistema para la instalación.
Extracción del archivo de actualización#
# Encuentre y extraiga el archivo de actualización (se selecciona automáticamente la versión más reciente)
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)"
💡 Notas sobre la extracción del archivo
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)" - extrae el archivo de actualización
tar -xvzf- extrae el archivo con salida detalladals docker_orchestrator_client_files_*.tgz- encuentra todos los archivos de actualizaciónsort -V- ordena las versiones de forma natural (1.0 < 1.1 < 1.10)tail -n 1- selecciona el archivo más reciente
Resultado esperado: Se extraerán los archivos y directorios necesarios para la actualización del sistema.
Resultado esperado: Se extraerán los archivos de actualización de Sherpa Orchestrator.
Preparación de los scripts para la ejecución#
# Navegue al directorio sh_scripts
# Haga todos los scripts ejecutables
# Regrese al directorio raíz del proyecto
cd sh_scripts && chmod +x *.sh && cd ..
💡 Notas sobre la preparación de scripts
cd sh_scripts/ - navega al directorio con los scripts de instalación
*chmod +x .sh - establece permisos de ejecución para todos los scripts shell
chmod +x- agrega permiso de ejecución*.sh- todos los archivos con extensión .sh
cd .. - regresa al directorio raíz del proyecto
Carga de imágenes Docker#
# Ejecute el script de carga de imágenes Docker
sudo ./sh_scripts/load_all_docker_images.sh
💡 Notas sobre la carga de imágenes Docker
sudo ./sh_scripts/load_all_docker_images.sh - ejecuta el script de carga de imágenes Docker
Qué hace el script:
- Carga todas las imágenes Docker de los archivos .tar.gz descargados
- Importa las imágenes al registro Docker local
- Verifica la carga exitosa de todas las imágenes del orchestrator
Creación de la configuración del sistema#
# Ejecute el script de creación de configuración
sudo ./sh_scripts/create_config.sh
💡 Notas sobre la creación de configuración
sudo ./sh_scripts/create_config.sh - ejecuta el script de creación de la configuración base
Qué hace el script:
- Crea los directorios necesarios para la configuración
- Configura los parámetros básicos del sistema
- Prepara la estructura para la configuración posterior
Copia de certificados SSL#
Para garantizar una conexión HTTPS segura, es necesario copiar los certificados SSL:
# Cree el directorio de certificados (si no existe)
mkdir -p ./nginx/config/certs/
# Renombre y copie el certificado y la clave para su dominio
# Reemplace las rutas con las rutas reales de sus certificados
cp /path/to/your/certificate.crt ./nginx/config/certs/orchestrator.crt
cp /path/to/your/private.key ./nginx/config/certs/orchestrator.key
💡 Notas sobre la copia de certificados SSL
mkdir -p ./nginx/config/certs/ - crea el directorio de certificados
-p- crea los directorios padre si no existen
cp /path/to/your/certificate.crt ./nginx/config/certs/orchestrator.crt - copia y renombra el certificado cp /path/to/your/private.key ./nginx/config/certs/orchestrator.key - copia y renombra la clave privada
Requisitos de los certificados:
- El certificado debe renombrarse a
orchestrator.crt - La clave privada debe renombrarse a
orchestrator.key - Los nombres de los archivos deben coincidir exactamente con los especificados
- Formato del certificado:
.crto.pem - Formato de la clave:
.key
Importante: Asegúrese de que los certificados tienen los permisos correctos:
# Establezca los permisos correctos en los certificados (puede requerir sudo)
chmod 644 ./nginx/config/certs/orchestrator.crt
chmod 600 ./nginx/config/certs/orchestrator.key
chown 65532:65532 ./nginx/config/certs/orchestrator.key ./nginx/config/certs/orchestrator.crt
ADVERTENCIA: Los certificados deben obtenerse del administrador de red o de su autoridad certificadora corporativa. Si no dispone de dichos certificados, puede utilizar las instrucciones para obtener certificados de Let's Encrypt u otras autoridades certificadoras.
Configuración de TLS para el protocolo LDAPS (paso opcional)#
Importante: Si no se requiere soporte LDAPS, omita este paso.
Copie el certificado rootCA con el nombre ca-certificates.crt al directorio /opt/SherpaOrchestrator/backend/config/certs/
En el archivo docker-compose.yml, descomente la línea:
- ./backend/config/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro
Configuración de certificados para el servidor IMAP (paso opcional)#
Importante: Si no planea usar Triggers con lanzamiento por correo electrónico o su servidor de correo no requiere certificados, omita este paso.
Copie los certificados IMAP a la carpeta /opt/SherpaOrchestrator/backend/config/certs/imap_certs
Selección de la configuración de base de datos#
Utilice el archivo compose unificado y seleccione la base de datos mediante perfil:
# Copie el archivo compose cliente combinado
cp docker-compose.client.yml docker-compose.yml
💡 Notas sobre la selección de configuración de BD
cp docker-compose.client.yml docker-compose.yml - copia la configuración combinada para el lanzamiento cliente
Recomendaciones:
- Para MariaDB, ejecute el perfil
mariadb - Para PostgreSQL, ejecute el perfil
pg - El directorio de trabajo debe contener el archivo final
docker-compose.yml
Configuración de variables de entorno#
Abra el archivo .env y configure los parámetros principales:
# Abra el archivo .env en un editor de texto
nano .env
Asegúrese de configurar las siguientes variables:
# Dirección IP del servidor (cambie a su dirección IP real o dominio)
HOST_IP=your_server_ip
# Nombre de dominio que utilizará NGINX (generalmente coincide con su dominio principal)
NGINX_DOMAIN_NAME=your_domain_name
# Contraseña de la base de datos MySQL (si difiere del "mysql-password" predeterminado)
DB_PASSWORD=mysql-password
# Contraseña de la base de datos PostgreSQL (si difiere del "postgres-password" predeterminado)
POSTGRES_PASSWORD=postgres-password
# Configuración de VNC
VNC_HOST=your_server_ip
VNC_PORT=5900
VNC_LOG_LEVEL=INFO
VNC_START_PORT=6080
VNC_MAX_PORTS=21
VNC_WEBSOCKIFY_WEB_ROOT=/opt/noVNC
💡 Notas sobre la configuración de variables de entorno
nano .env - abre el archivo de variables de entorno
.env- archivo con variables de entorno para Docker Compose
HOST_IP - parámetro de importancia crítica
- Especifique la dirección IP real o el nombre de dominio de su servidor
- Esta es la dirección desde la que el sistema será accesible externamente
- Debe ser una IP estática o un dominio correctamente configurado
NGINX_DOMAIN_NAME - nombre de dominio para la interfaz web
- Especifique el dominio que los usuarios utilizarán para acceder a Sherpa Orchestrator (por ejemplo,
orchestrator.example.com) - Generalmente coincide con el dominio especificado en el certificado SSL
DB_PASSWORD - contraseña de la base de datos MySQL
- Por defecto: mysql-password
- Cambie a una contraseña segura si es necesario
POSTGRES_PASSWORD - contraseña de la base de datos PostgreSQL
- Por defecto: postgres-password
- Cambie a una contraseña segura si es necesario
Configuración de la base de datos#
Abra el archivo de configuración y configure los parámetros de la base de datos y el servidor de correo:
# Abra el archivo de configuración
sudo nano backend/config/config.ini
Configure los siguientes parámetros:
# Configuración de la base de datos (para MySQL - por defecto)
database_engine=mysql
database_host=orchestrator-db
database_port=3306
database_user=root
database_password=mysql-password
database_dbname=orchestrator
database_dbname_archive=orchestrator_archive
# Configuración de la base de datos (para PostgreSQL - descomente si usa PostgreSQL)
;database_engine=pgsql
;database_host=orchestrator-pg
;database_port=5432
;database_user=postgres
;database_password=postgres-password
Importante: ¡Si cambió las contraseñas en el archivo .env (DB_PASSWORD o POSTGRES_PASSWORD), asegúrese de que las contraseñas correspondientes en config.ini coincidan!
Configuración de phinx.php (migraciones de BD)#
El archivo backend/config/phinx.php es utilizado por Phinx para ejecutar migraciones al iniciar el contenedor. Las contraseñas en él deben coincidir con las de .env y config.ini:
sudo nano backend/config/phinx.php
En la sección environments, establezca las mismas contraseñas que en config.ini:
- Para MySQL: en el bloque
'mysql', el parámetro'pass'debe coincidir con DB_PASSWORD de.env(por defectomysql-password). - Para PostgreSQL: en el bloque
'pgsql', el parámetro'pass'debe coincidir conPOSTGRES_PASSWORDde.env(por defectopostgres-password).
Si las contraseñas no coinciden, las migraciones fallarán al iniciar el contenedor.
💡 Notas sobre la configuración de config.ini
sudo nano backend/config/config.ini - abre el archivo de configuración
sudo- derechos de administrador para la ediciónnano- editor de textobackend/config/config.ini- ruta al archivo de configuración
Parámetros de la base de datos:
- database_password - la contraseña debe coincidir con MYSQL_ROOT_PASSWORD del archivo .env
- database_engine - seleccione 'mysql' o 'pgsql' según el archivo docker-compose elegido
- database_host - déjelo como está (orchestrator-db u orchestrator-pg)
- database_port - déjelo como está (3306 para MySQL, 5432 para PostgreSQL)
Importante:
- Las contraseñas de la base de datos deben coincidir exactamente con las contraseñas del archivo .env
- Las mismas contraseñas deben especificarse en backend/config/phinx.php (los campos
passen las seccionesmysqlypgsql) — de lo contrario, las migraciones no se ejecutarán al iniciar el contenedor - Si usa PostgreSQL - descomente las líneas correspondientes y comente las de MySQL
- Guarde el archivo después de realizar los cambios (Ctrl+O, Enter, Ctrl+X)
Inicio del sistema#
Tras completar todas las etapas preparatorias, se puede iniciar Sherpa Orchestrator.
# Inicie el sistema con el perfil de BD deseado
# Opción 1: MariaDB
docker compose --profile mariadb up -d
# Opción 2: PostgreSQL
docker compose --profile pg up -d
# Si se necesita Vault (opcional), agregue el perfil vault:
# Opción 1: MariaDB + Vault
docker compose --profile mariadb --profile vault up -d
# Opción 2: PostgreSQL + Vault
docker compose --profile pg --profile vault up -d
💡 Notas sobre el inicio del sistema
docker compose --profile <mariadb|pg> up -d - inicia el sistema con la BD seleccionada
docker compose --profile <mariadb|pg> --profile vault up -d - inicia el sistema con Vault
- El perfil
vaultes opcional y se habilita solo cuando es necesario - Para la configuración posterior de Vault, use la guía
6) VAULT.md
Qué hace el script:
- Inicia los servicios del orchestrator mediante Docker Compose
- Activa solo el contenedor de base de datos seleccionado por perfil (
mariadbopg) - Configura la red y los volumes
- Realiza migraciones de base de datos si es necesario
- Inicia los servicios en modo en segundo plano
Verificación del estado de inicio#
# Verifique el estado de todos los contenedores en ejecución
docker compose ps
# Consulte los logs del sistema
docker compose logs orchestrator
# Monitoree los logs en tiempo real
docker compose logs -f orchestrator
💡 Notas sobre la verificación del estado de inicio
docker compose ps - muestra el estado de todos los contenedores
- Deben estar en ejecución:
orchestrator,orchestrator-vnc-proxyy un contenedor de BD (orchestrator-dbconmariadbuorchestrator-pgconpg)
docker compose logs orchestrator - muestra los logs del servicio principal
docker compose logs -f orchestrator - sigue los logs en tiempo real
-f- follow (seguir los nuevos mensajes)
Salida esperada tras un inicio exitoso:
NAME STATUS PORTS
orchestrator Up 2 minutes 0.0.0.0:443->443/tcp
orchestrator-db Up 2 minutes 3306/tcp
orchestrator-vnc-proxy Up 2 minutes 0.0.0.0:5000->5000/tcp, 0.0.0.0:6080-6100->6080-6100/tcp
# Para el perfil pg, en lugar de orchestrator-db aparecerá orchestrator-pg
Verificación de la disponibilidad del sistema#
Comprobación de la interfaz web:
# Compruebe la disponibilidad HTTPS (reemplace con su dominio/IP)
curl -I https://your-domain-or-ip
# Respuesta esperada: HTTP/2 200 o redirección
Gestión del sistema#
Detención del sistema:
# Detenga todos los servicios
docker compose down
# Detenga con eliminación de volumes (¡cuidado!)
docker compose down -v
Reinicio de servicios:
# Reinicie un servicio específico
docker compose restart orchestrator
# Reinicie todos los servicios
docker compose restart
Visualización de recursos:
# Compruebe el uso de recursos de los contenedores
docker stats
Posibles problemas al iniciar:#
- Los contenedores no se inician: Revise los logs con
docker compose logs - Problemas de red: Asegúrese de que los puertos 443, 5000, 6080-6100 estén libres
- Errores de conexión a la BD: Verifique la configuración en docker-compose.yml
- Problemas con el dominio: Asegúrese de que HOST_IP esté correctamente configurado
Tras iniciar y probar exitosamente el sistema, la instalación de Sherpa Orchestrator ha concluido. El sistema estará disponible por HTTPS en el dominio o dirección IP configurados.