Processo de instalação do Sherpa Orchestrator#
Instalação do Sherpa Orchestrator#
Extração dos arquivos de cliente#
Nesta etapa, você extrairá o arquivo de atualização do Sherpa Orchestrator e preparará o sistema para a instalação.
Extração do arquivo de atualização#
# Encontre e extraia o arquivo de atualização (a versão mais recente é selecionada automaticamente)
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)"
💡 Notas sobre a extração do arquivo
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)" - extrai o arquivo de atualização
tar -xvzf- extrai o arquivo com saída detalhadals docker_orchestrator_client_files_*.tgz- encontra todos os arquivos de atualizaçãosort -V- ordena as versões de forma natural (1.0 < 1.1 < 1.10)tail -n 1- seleciona o arquivo mais recente
Resultado esperado: Os arquivos e diretórios necessários para a atualização do sistema serão extraídos.
Resultado esperado: Os arquivos de atualização do Sherpa Orchestrator serão extraídos.
Preparação dos scripts para execução#
# Navegue até o diretório sh_scripts
# Torne todos os scripts executáveis
# Retorne ao diretório raiz do projeto
cd sh_scripts && chmod +x *.sh && cd ..
💡 Notas sobre a preparação dos scripts
cd sh_scripts/ - navega para o diretório com os scripts de instalação
*chmod +x .sh - define permissões de execução para todos os scripts shell
chmod +x- adiciona permissão de execução*.sh- todos os arquivos com extensão .sh
cd .. - retorna ao diretório raiz do projeto
Carregamento das imagens Docker#
# Execute o script de carregamento de imagens Docker
sudo ./sh_scripts/load_all_docker_images.sh
💡 Notas sobre o carregamento das imagens Docker
sudo ./sh_scripts/load_all_docker_images.sh - executa o script de carregamento de imagens Docker
O que o script faz:
- Carrega todas as imagens Docker dos arquivos .tar.gz baixados
- Importa as imagens para o registro Docker local
- Verifica o carregamento bem-sucedido de todas as imagens do orchestrator
Criação da configuração do sistema#
# Execute o script de criação de configuração
sudo ./sh_scripts/create_config.sh
💡 Notas sobre a criação de configuração
sudo ./sh_scripts/create_config.sh - executa o script de criação da configuração base
O que o script faz:
- Cria os diretórios necessários para a configuração
- Define os parâmetros básicos do sistema
- Prepara a estrutura para configuração posterior
Cópia dos certificados SSL#
Para garantir uma conexão HTTPS segura, os certificados SSL devem ser copiados:
# Crie o diretório de certificados (se não existir)
mkdir -p ./nginx/config/certs/
# Renomeie e copie o certificado e a chave para o seu domínio
# Substitua os caminhos pelos caminhos reais dos seus 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 a cópia dos certificados SSL
mkdir -p ./nginx/config/certs/ - cria o diretório de certificados
-p- cria os diretórios pai se não existirem
cp /path/to/your/certificate.crt ./nginx/config/certs/orchestrator.crt - copia e renomeia o certificado cp /path/to/your/private.key ./nginx/config/certs/orchestrator.key - copia e renomeia a chave privada
Requisitos dos certificados:
- O certificado deve ser renomeado para
orchestrator.crt - A chave privada deve ser renomeada para
orchestrator.key - Os nomes dos arquivos devem corresponder exatamente aos especificados
- Formato do certificado:
.crtou.pem - Formato da chave:
.key
Importante: Certifique-se de que os certificados têm as permissões corretas:
# Defina as permissões corretas nos certificados (pode ser necessário 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
ATENÇÃO: Os certificados devem ser obtidos junto ao administrador de rede ou à sua autoridade certificadora corporativa. Caso não disponha desses certificados, pode utilizar as instruções para obter certificados do Let's Encrypt ou de outras autoridades certificadoras.
Configuração de TLS para o protocolo LDAPS (passo opcional)#
Importante: Se o suporte a LDAPS não for necessário, pule este passo.
Copie o certificado rootCA com o nome ca-certificates.crt para o diretório /opt/SherpaOrchestrator/backend/config/certs/
No arquivo docker-compose.yml, descomente a linha:
- ./backend/config/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro
Configuração de certificados para o servidor IMAP (passo opcional)#
Importante: Se não planeja usar Triggers com lançamento por e-mail ou seu servidor de e-mail não requer certificados, pule este passo.
Copie os certificados IMAP para a pasta /opt/SherpaOrchestrator/backend/config/certs/imap_certs
Seleção da configuração de banco de dados#
Use o arquivo compose unificado e selecione o banco de dados por perfil:
# Copie o arquivo compose cliente combinado
cp docker-compose.client.yml docker-compose.yml
💡 Notas sobre a seleção da configuração de BD
cp docker-compose.client.yml docker-compose.yml - copia a configuração combinada para lançamento cliente
Recomendações:
- Para MariaDB, execute o perfil
mariadb - Para PostgreSQL, execute o perfil
pg - O diretório de trabalho deve conter o arquivo final
docker-compose.yml
Configuração das variáveis de ambiente#
Abra o arquivo .env e configure os parâmetros principais:
# Abra o arquivo .env em um editor de texto
nano .env
Certifique-se de configurar as seguintes variáveis:
# Endereço IP do servidor (altere para o seu endereço IP real ou domínio)
HOST_IP=your_server_ip
# Nome de domínio que o NGINX utilizará (geralmente coincide com o seu domínio principal)
NGINX_DOMAIN_NAME=your_domain_name
# Senha do banco de dados MySQL (se diferente do padrão "mysql-password")
DB_PASSWORD=mysql-password
# Senha do banco de dados PostgreSQL (se diferente do padrão "postgres-password")
POSTGRES_PASSWORD=postgres-password
# Configurações 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 a configuração das variáveis de ambiente
nano .env - abre o arquivo de variáveis de ambiente
.env- arquivo com variáveis de ambiente para Docker Compose
HOST_IP - parâmetro de importância crítica
- Especifique o endereço IP real ou o nome de domínio do seu servidor
- Este é o endereço pelo qual o sistema estará acessível externamente
- Deve ser um IP estático ou um domínio corretamente configurado
NGINX_DOMAIN_NAME - nome de domínio para a interface web
- Especifique o domínio que os usuários usarão para acessar o Sherpa Orchestrator (por exemplo,
orchestrator.example.com) - Geralmente coincide com o domínio especificado no certificado SSL
DB_PASSWORD - senha do banco de dados MySQL
- Padrão: mysql-password
- Altere para uma senha forte se necessário
POSTGRES_PASSWORD - senha do banco de dados PostgreSQL
- Padrão: postgres-password
- Altere para uma senha forte se necessário
Configuração do banco de dados#
Abra o arquivo de configuração e configure os parâmetros do banco de dados e do servidor de e-mail:
# Abra o arquivo de configuração
sudo nano backend/config/config.ini
Configure os seguintes parâmetros:
# Configurações do banco de dados (para MySQL - padrão)
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
# Configurações do banco de dados (para PostgreSQL - descomente se estiver usando PostgreSQL)
;database_engine=pgsql
;database_host=orchestrator-pg
;database_port=5432
;database_user=postgres
;database_password=postgres-password
Importante: Se você alterou as senhas no arquivo .env (DB_PASSWORD ou POSTGRES_PASSWORD), certifique-se de que as senhas correspondentes no config.ini coincidam!
Configuração do phinx.php (migrações de BD)#
O arquivo backend/config/phinx.php é usado pelo Phinx para executar migrações ao iniciar o contêiner. As senhas nele devem coincidir com as de .env e config.ini:
sudo nano backend/config/phinx.php
Na seção environments, defina as mesmas senhas que no config.ini:
- Para MySQL: no bloco
'mysql', o parâmetro'pass'deve coincidir com DB_PASSWORD de.env(padrãomysql-password). - Para PostgreSQL: no bloco
'pgsql', o parâmetro'pass'deve coincidir comPOSTGRES_PASSWORDde.env(padrãopostgres-password).
Se as senhas não coincidirem, as migrações falharão ao iniciar o contêiner.
💡 Notas sobre a configuração do config.ini
sudo nano backend/config/config.ini - abre o arquivo de configuração
sudo- direitos de administrador para ediçãonano- editor de textobackend/config/config.ini- caminho para o arquivo de configuração
Parâmetros do banco de dados:
- database_password - a senha deve coincidir com MYSQL_ROOT_PASSWORD do arquivo .env
- database_engine - selecione 'mysql' ou 'pgsql' dependendo do arquivo docker-compose escolhido
- database_host - deixe como está (orchestrator-db ou orchestrator-pg)
- database_port - deixe como está (3306 para MySQL, 5432 para PostgreSQL)
Importante:
- As senhas do banco de dados devem coincidir exatamente com as senhas no arquivo .env
- As mesmas senhas devem ser especificadas em backend/config/phinx.php (os campos
passnas seçõesmysqlepgsql) — caso contrário, as migrações não serão executadas ao iniciar o contêiner - Se estiver usando PostgreSQL - descomente as linhas correspondentes e comente as do MySQL
- Salve o arquivo após fazer as alterações (Ctrl+O, Enter, Ctrl+X)
Inicialização do sistema#
Após concluir todas as etapas preparatórias, o Sherpa Orchestrator pode ser iniciado.
# Inicie o sistema com o perfil de BD desejado
# Opção 1: MariaDB
docker compose --profile mariadb up -d
# Opção 2: PostgreSQL
docker compose --profile pg up -d
# Se o Vault for necessário (opcional), adicione o perfil vault:
# Opção 1: MariaDB + Vault
docker compose --profile mariadb --profile vault up -d
# Opção 2: PostgreSQL + Vault
docker compose --profile pg --profile vault up -d
💡 Notas sobre a inicialização do sistema
docker compose --profile <mariadb|pg> up -d - inicia o sistema com o BD selecionado
docker compose --profile <mariadb|pg> --profile vault up -d - inicia o sistema com Vault
- O perfil
vaulté opcional e é habilitado apenas quando necessário - Para configuração posterior do Vault, use o guia
6) VAULT.md
O que o script faz:
- Inicia os serviços do orchestrator via Docker Compose
- Ativa apenas o contêiner do banco de dados selecionado por perfil (
mariadboupg) - Configura a rede e os volumes
- Executa migrações de banco de dados se necessário
- Inicia os serviços em modo background
Verificação do status de inicialização#
# Verifique o status de todos os contêineres em execução
docker compose ps
# Consulte os logs do sistema
docker compose logs orchestrator
# Monitore os logs em tempo real
docker compose logs -f orchestrator
💡 Notas sobre a verificação do status de inicialização
docker compose ps - exibe o status de todos os contêineres
- Devem estar em execução:
orchestrator,orchestrator-vnc-proxye um contêiner de BD (orchestrator-dbcommariadbouorchestrator-pgcompg)
docker compose logs orchestrator - exibe os logs do serviço principal
docker compose logs -f orchestrator - acompanha os logs em tempo real
-f- follow (acompanhar novas mensagens)
Saída esperada após inicialização bem-sucedida:
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 o perfil pg, orchestrator-pg aparecerá em vez de orchestrator-db
Verificação da disponibilidade do sistema#
Verificação da interface web:
# Verifique a disponibilidade HTTPS (substitua pelo seu domínio/IP)
curl -I https://your-domain-or-ip
# Resposta esperada: HTTP/2 200 ou redirecionamento
Gerenciamento do sistema#
Parada do sistema:
# Pare todos os serviços
docker compose down
# Pare com remoção de volumes (cuidado!)
docker compose down -v
Reinicialização dos serviços:
# Reinicie um serviço específico
docker compose restart orchestrator
# Reinicie todos os serviços
docker compose restart
Visualização de recursos:
# Verifique o uso de recursos pelos contêineres
docker stats
Possíveis problemas ao iniciar:#
- Contêineres não iniciam: Verifique os logs com
docker compose logs - Problemas de rede: Certifique-se de que as portas 443, 5000, 6080-6100 estão livres
- Erros de conexão ao BD: Verifique as configurações no docker-compose.yml
- Problemas com o domínio: Certifique-se de que HOST_IP está corretamente configurado
Após iniciar e testar com sucesso o sistema, a instalação do Sherpa Orchestrator está concluída. O sistema estará acessível via HTTPS no domínio ou endereço IP configurado.