Pular para o conteúdo

Conectar um servidor

Conectar um servidor tem duas etapas: registrá-lo no portal e depois executar nele o agente com o token de uso único que o portal fornece. Você precisa ser Administrador da organização.

Antes de começar, consulte os requisitos do servidor.

  1. Acesse Servidores e clique em Adicionar servidor.
  2. Dê a ele um Nome que você reconheça, como field-office-accra. As instalações são listadas pelo nome do servidor, por isso vale a pena escolher um nome significativo.
  3. Escolha Docker como ambiente de execução e selecione o Sistema operacional do servidor.
  4. Clique em Criar.
Adicionar servidor
Adicionar servidor

O portal agora mostra um Token de inscrição e um Comando de instalação para o sistema operacional que você escolheu.

Instale o agente no seu servidor
Instale o agente no seu servidor

O agente é um único programa chamado scolah-agent (scolah-agent.exe no Windows). Baixe-o para o sistema operacional e o processador do seu servidor, verifique-o com SHA256SUMS e coloque-o no seu PATH. Em um servidor Linux Intel/AMD:

Terminal window
curl -fLO https://docs.scolah.com/downloads/agent/latest/scolah-agent-linux-amd64
sudo install -m 0755 scolah-agent-linux-amd64 /usr/local/bin/scolah-agent

No servidor, cole o comando de instalação do portal. Ele é parecido com isto:

Terminal window
scolah-agent --platform-url https://… --enroll-token spa_… --state-dir ~/.scolah-agent-field-office-accra --acme-email you@your-organisation.org

No Windows (PowerShell):

Terminal window
scolah-agent.exe --platform-url https://… --enroll-token spa_… --state-dir $env:USERPROFILE\.scolah-agent-field-office-accra --acme-email you@your-organisation.org

Em poucos segundos, o status do servidor no portal muda de Pendente para Conectado, e a versão do agente e os recursos do servidor aparecem.

  • A pasta --state-dir armazena a identidade do servidor depois da inscrição. Preserve-a e não a compartilhe entre servidores: cada servidor precisa da sua própria pasta. Se dois agentes compartilharem uma, o segundo roda silenciosamente como o primeiro servidor.
  • --acme-email é seu endereço de e-mail, preenchido pelo portal. O Let’s Encrypt o usa para avisos sobre certificados quando você atribui a uma instalação um domínio com HTTPS automático.
  • Após a primeira execução, o token não vale mais. Nas inicializações seguintes, o agente se autentica com a identidade armazenada na sua pasta de estado.

O comando acima executa o agente no seu terminal, por isso ele para quando você encerra a sessão. Em um servidor Linux, execute-o como serviço do sistema, para que ele inicie com a máquina e reinicie se parar.

  1. Crie /etc/scolah-agent/env. Use o endereço da plataforma, o token e o e-mail do seu comando de instalação:

    Terminal window
    PLATFORM_URL=https://…
    ENROLL_TOKEN=spa_…
    STATE_DIR=/var/lib/scolah-agent
    ACME_EMAIL=it@your-organisation.org
  2. Crie /etc/systemd/system/scolah-agent.service:

    [Unit]
    Description=Scolah Compass Platform Agent
    After=network-online.target docker.service
    Wants=network-online.target
    [Service]
    ExecStart=/usr/local/bin/scolah-agent
    EnvironmentFile=/etc/scolah-agent/env
    Restart=always
    RestartSec=5
    # Exit code 3 means the platform blocked this server; don't restart-loop on it.
    RestartPreventExitStatus=3
    [Install]
    WantedBy=multi-user.target
  3. Inicie-o:

    Terminal window
    sudo mkdir -p /var/lib/scolah-agent && sudo chmod 700 /etc/scolah-agent /var/lib/scolah-agent
    sudo systemctl daemon-reload
    sudo systemctl enable --now scolah-agent
    journalctl -u scolah-agent -f
  • Só faz conexões de saída para a plataforma. A plataforma não consegue abrir uma conexão para dentro da sua rede.
  • Só implanta bundles de aplicativos assinados. Antes de executar qualquer coisa, ele verifica a assinatura da Scolah e cada arquivo do bundle, e recusa tudo o que não corresponder.
  • Os segredos, como as senhas dos bancos de dados, são criptografados para esse servidor e só são descriptografados nele.
  • Se a Scolah ou seu administrador bloquear o servidor, o agente para, e os aplicativos que já estão no servidor continuam rodando.

Próximo passo: crie sua primeira instalação.