Requisitos do servidor Sherpa Orchestrator#

Requisitos do sistema#

  • OS: recomenda-se Ubuntu 20.04+, no entanto, geralmente não há problemas com outras distribuições Linux.
  • CPU: x86-64-v2, mínimo 2 núcleos
  • RAM: mínimo 4 GB, recomendado 8 GB+
  • Disco: 20 GB+ de espaço livre
  • Rede: Conexão de internet estável
  • Acesso: permissões sudo para instalação

Importante:

  • A instalação leva tempo devido ao download das imagens do Docker
  • Após a instalação, a internet não é necessária para operação

Preparação do servidor#

Verificação de recursos#

A seguir, utiliza-se a sintaxe do Ubuntu, se o comando não for adequado, você precisará alterar a sintaxe de acordo com seu SO

# Verifique os recursos do sistema
df -h          # Espaço em disco
free -h        # Memória RAM
lscpu | grep -E "^CPU\(s\)|Model name"  # Informações sobre o processador
💡 Comentários sobre a verificação de recursos

df -h - mostra o uso do espaço em disco em formato legível por humanos free -h - mostra informações sobre a memória RAM lscpu - mostra informações sobre o processador

Valores mínimos recomendados:

  • Disco: mínimo 20 GB de espaço livre
  • RAM: mínimo 4 GB
  • CPU: mínimo 2 núcleos

Instalação de ferramentas básicas#

# Atualize o sistema e instale as ferramentas
sudo apt update
sudo apt install -y ca-certificates curl tar
💡 Comentários sobre a instalação de ferramentas básicas

sudo apt update - atualiza a lista de pacotes disponíveis dos repositórios sudo apt install -y ca-certificates curl tar - instala as ferramentas necessárias:

  • ca-certificates - certificados raiz para verificação SSL
  • curl - ferramenta para download de arquivos
  • tar - utilitário para trabalhar com arquivos compactados
  • -y - confirmação automática da instalação

Instalação do Docker (obrigatório)#

Sherpa Orchestrator funciona exclusivamente em contêineres Docker.

Instalação do Docker CE#

# Adicione a chave GPG oficial do Docker
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

# Adicione o repositório do Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Instale o Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
💡 Comentários sobre a instalação do Docker

Adicionando a chave GPG:

  • sudo install -m 0755 -d /etc/apt/keyrings - cria o diretório para as chaves com as permissões corretas
  • sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc - baixa a chave GPG do Docker
  • sudo chmod a+r /etc/apt/keyrings/docker.asc - define permissões de leitura para todos

Adicionando o repositório:

  • echo "deb [...] - adiciona o repositório oficial do Docker à lista de fontes APT
  • Utiliza variáveis de ambiente para determinar a arquitetura e a versão do Ubuntu

Instalação de pacotes:

  • sudo apt update - atualiza a lista de pacotes após adicionar um novo repositório
  • sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - instala o Docker e os componentes

Configuração e verificação#

# Adicione o usuário ao grupo docker (opcional)
sudo usermod -aG docker $USER

# Inicie e habilite o Docker
sudo systemctl start docker
sudo systemctl enable docker

# Verifique a instalação
docker --version
docker compose version
💡 Comentários sobre a configuração do Docker

sudo usermod -aG docker $USER - adiciona o usuário atual ao grupo docker

  • -a - append (adiciona aos grupos existentes)
  • -G docker - adiciona ao grupo docker
  • $USER - variável com o nome do usuário atual

sudo systemctl start docker - inicia o daemon do Docker sudo systemctl enable docker - habilita a inicialização automática do Docker na inicialização do sistema

docker --version - mostra a versão do Docker docker compose version - mostra a versão do Docker Compose

Resultado esperado: O Docker deve iniciar com sucesso um contêiner de teste.

Verificação de portas#

Sherpa Orchestrator utiliza as seguintes portas:

  • 443 - interface web HTTPS (obrigatório)
  • 5000 - API VNC proxy
  • 6080-6100 - faixa de portas para conexões VNC

Verificação de disponibilidade de portas#

# Verifique se as portas necessárias estão ocupadas
sudo netstat -tlnp | grep -E ":443 |:5000 |:608[0-9] |:609[0-9] |:6100 " || echo "Portas livres"
💡 Comentários sobre a verificação de portas

sudo netstat -tlnp - mostra todas as portas TCP em escuta e os processos

  • -t - portas TCP
  • -l - apenas portas em escuta
  • -n - formato numérico (sem resolução de nomes)
  • -p - mostra o PID e o nome do processo

Resultado esperado:

  • Se as portas estiverem livres, o comando exibirá "Portas livres"
  • Se as portas estiverem ocupadas, serão mostrados os processos que as utilizam

Verificação de configuração#

Verificação final antes do lançamento#

# Verifique o Docker
docker --version && docker compose version

# Verifique as variáveis de ambiente
cat .env

# Verifique a disponibilidade das portas
sudo netstat -tlnp | grep -E ":443 |:5000 |:608[0-9] |:609[0-9] |:6100 " || echo "Todas as portas livres"

# Verifique o espaço em disco
df -h /var/lib/docker || echo "Driver de armazenamento do Docker não configurado"

echo "Se todas as verificações forem bem-sucedidas, você pode iniciar o Sherpa Orchestrator"

Resultado esperado: Todos os comandos devem ser executados sem erros, as portas devem estar livres.