Processo de atualização do Sherpa Orchestrator#

Atualização do Sherpa Orchestrator#

1. Download dos arquivos#

Faça o download de todos os arquivos de atualização mais recentes do Sherpa Orchestrator pelos links na seção de preparação

2. Transferência dos arquivos para o servidor#

Após o download, transfira todos os arquivos para o servidor Linux de destino por qualquer método conveniente:

Via SCP/SFTP#

# Copie os arquivos para o servidor
scp *.tar.gz user@target-server:/path/to/installation/directory/
💡 Notas sobre a transferência via SCP/SFTP

*scp .tar.gz user@target-server:/path/to/installation/directory/ - copia os arquivos para o servidor remoto

  • scp - cópia segura
  • *.tar.gz - padrão para selecionar arquivos de atualização
  • user@target-server - credenciais de conexão
  • /path/to/installation/directory/ - caminho de destino no servidor

Via cliente SFTP#

Use qualquer cliente SFTP (FileZilla, WinSCP, Cyberduck) para copiar os arquivos para o servidor.

Via pasta de rede#

Se o servidor estiver acessível por SMB/CIFS, use o Explorador do Windows ou o comando copy.

Verificação da transferência#

# Conecte-se ao servidor
ssh user@target-server

# Navegue até o diretório com os arquivos (geralmente opt/SherpaOrchestrator)
cd /path/to/installation/directory

# Verifique a presença de todos os arquivos
ls -la *.tar.gz

# Verifique os tamanhos dos arquivos
ls -lh *.tar.gz
💡 Notas sobre a verificação da transferência

ssh user@target-server - conecta ao servidor remoto via SSH

  • ssh - secure shell
  • user@target-server - credenciais de conexão

cd /path/to/installation/directory - navega para o diretório com os arquivos

*ls -la .tar.gz - exibe informações detalhadas sobre os arquivos baixados

  • -l - formato longo
  • -a - mostra arquivos ocultos

*ls -lh .tar.gz - exibe os tamanhos dos arquivos em formato legível

  • -h - human readable (KB, MB, GB)

3. Parada dos contêineres#

# Pare todos os serviços em execução
docker compose down
💡 Notas sobre a parada dos contêineres

docker compose down - para todos os serviços do Docker Compose

  • Para e remove contêineres e redes
  • Preserva volumes e imagens

Verificação da parada: docker ps -a | grep orchestrator - verifica o status dos contêineres

  • docker ps -a - mostra todos os contêineres (incluindo os parados)
  • | grep orchestrator - filtra pelo nome orchestrator

4. Carregamento das imagens Docker#

# Crie um backup do arquivo .env (se existir)
cp .env .env.backup

# Crie um backup da configuração
cp -r ./backend/config ./backend/config_backup

# Se certificados personalizados forem utilizados, copie-os para um local seguro
cp -r ./backend/config/certs ./certs_backup

# Descompacte os arquivos de atualização
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)"

# Copie a configuração padrão do nginx (se não existir)
cp -r ./nginx/config/default/. ./nginx/config

# Torne os scripts executáveis
chmod +x sh_scripts/*.sh

# Copie a configuração do orchestrator (os arquivos são substituídos pelos novos)
cp -af ./backend/config/default/. ./backend/config/

# Copie a configuração do vault (os arquivos são substituídos pelos novos)(se for usar o vault)
cp -af ./vault/config/default/. ./vault/config

# Se um backup dos certificados foi criado, restaure-os
cp -r ./certs_backup/* ./nginx/config/certs/

# Carregue todas as imagens Docker
sudo ./sh_scripts/load_all_docker_images.sh
💡 Notas sobre o carregamento das imagens Docker

Criação de backups:

  • cp .env .env.backup - backup do arquivo de configuração
  • cp -r ./backend/config ./backend/config_backup - backup do diretório config
  • cp -r ./backend/config/certs ./certs_backup - backup dos certificados SSL

Descompactação e preparação:

  • tar -xvzf "$(ls orchestrator_docker_update_*.tgz | sort -V | tail -n 1)" - descompacta os arquivos de atualização mais recentes
  • chmod +x sh_scripts/*.sh - torna os scripts executáveis
  • cp -r ./certs_backup/* ./backend/config/certs/ - restaura os certificados

sudo ./sh_scripts/load_all_docker_images.sh - carrega todas as imagens Docker

Verificação do carregamento: docker images | grep orchestrator - exibe as imagens do orchestrator carregadas

5. Seleção da configuração de BD e verificação das variáveis de ambiente#

# 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 - seleciona a configuração cliente combinada

  • O diretório de trabalho deve conter o arquivo final docker-compose.yml
  • Para MariaDB, execute o perfil mariadb
  • Para PostgreSQL, execute o perfil pg
# Abra o arquivo .env para revisão
nano ./.env

# Verifique a presença das variáveis obrigatórias
grep -E "(HOST_IP|DB_PASSWORD|POSTGRES_PASSWORD|NGINX_DOMAIN_NAME)" .env

# Verifique a correção da sintaxe
cat .env | grep -v '^#' | grep '=' | wc -l
💡 Notas sobre a verificação das variáveis de ambiente

nano ./.env - abre o arquivo de configuração no editor

grep -E "(HOST_IP|DB_PASSWORD|POSTGRES_PASSWORD|NGINX_DOMAIN_NAME)" .env - verifica a presença das variáveis-chave

  • -E - expressões regulares estendidas
  • Lista as variáveis obrigatórias separadas por |

cat .env | grep -v '^#' | grep '=' | wc -l - conta o número de variáveis

  • cat .env - exibe o conteúdo do arquivo
  • grep -v '^#' - exclui comentários
  • grep '=' - mantém apenas linhas com variáveis
  • wc -l - conta o número de linhas

Verificação de config.ini e phinx.php#

Certifique-se de que as mesmas senhas especificadas no arquivo .env estão presentes:

  • backend/config/config.ini — parâmetro database_password (e ao usar PostgreSQL — as configurações correspondentes);
  • backend/config/phinx.php — na seção environments, o parâmetro 'pass' no bloco 'mysql' ou 'pgsql' (devem coincidir com as senhas de .env e config.ini).

Caso contrário, as migrações na inicialização dos contêineres podem falhar com erro.

# Edite a configuração se necessário
nano backend/config/config.ini
nano backend/config/phinx.php

SE A VERSÃO ATUAL DO ORCHESTRATOR DA QUAL VOCÊ ESTÁ ATUALIZANDO FOR MENOR OU IGUAL A v141856, É NECESSÁRIO MONTAR O ARQUIVO cache.bin DENTRO DO CONTÊINER orchestrator NO docker-compose.yml

    volumes:
      - orchestrator-storage:/opt/SherpaOrchestrator/backend/Storage
      - ./backend/config:/opt/SherpaOrchestrator/backend/config:z
      - ./path/to/cache.bin:/opt/SherpaOrchestrator/backend/app/cache.bin

6. Inicialização dos contêineres#

# Inicie os serviços com o perfil de BD selecionado
# 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 dos contêineres

docker compose --profile <mariadb|pg> up -d - inicia os serviços em modo background com o banco de dados selecionado

  • -d - modo detached (background)

docker compose --profile <mariadb|pg> --profile vault up -d - inicia o sistema com Vault

  • O perfil vault é opcional e é ativado apenas quando armazenamento de segredos e migração para o Vault são necessários

Verificação da inicialização:

  • docker compose ps - exibe o status de todos os contêineres
  • docker compose logs -f orchestrator - exibe os logs de inicialização em tempo real

A inicialização do Vault e a migração de segredos estão descritas em um guia separado: 6) VAULT.md.

Após uma atualização bem-sucedida, o sistema Sherpa Orchestrator está pronto para uso.