Pular para o conteúdo principal

Instalar no Linux

Três comandos, do início ao fim.

1. Confira se a máquina está pronta​

# O Docker está instalado e você consegue usá-lo sem sudo
docker run hello-world

# O driver NVIDIA está instalado e o Docker consegue ver a GPU
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

O segundo comando precisa imprimir sua placa. Se falhar, falta o driver ou o NVIDIA Container Toolkit — essa é a única peça que você precisa instalar sozinho.

2. Escolha uma senha e guarde-a​

Isso criptografa seu token salvo. Gere uma e guarde em algum lugar onde você ainda vai tê-la daqui a seis meses.

export AGENT_ENCRYPTION_PASSWORD="$(openssl rand -base64 32)"
echo "$AGENT_ENCRYPTION_PASSWORD" # anote isso agora

3. Rode​

docker run -d --name neurogrid-agent \
--gpus all --restart unless-stopped \
--log-driver json-file \
--log-opt max-size=10m \
--log-opt max-file=3 \
--dns 1.1.1.1 --dns 8.8.8.8 \
-v neurogrid-data:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/neurogrid/workloads:/var/lib/neurogrid/workloads \
-e AGENT_ENCRYPTION_PASSWORD="$AGENT_ENCRYPTION_PASSWORD" \
ghcr.io/neurogrid-ai-exchange/neurogrid-agent:latest --token ng_live_xxxxxxxx

Troque ng_live_xxxxxxxx pelo token da consola. Essa é toda a instalação — a imagem é baixada automaticamente se você não a tiver.

Veja ele subir:

docker logs -f neurogrid-agent

Procure por Bootstrap sent successfully, depois Heartbeat sent successfully a cada 30 segundos. Sua GPU vira confirmada na consola nesse exato momento.

Não precisa passar --token de novo. Se você passar uma segunda vez, ele é ignorado em favor do que já está guardado.

Para que serve cada flag​

FlagPor que não pode ser removida
--gpus allSem ela não existe nvidia-smi dentro do contêiner, então o agente não consegue medir a VRAM nem dimensionar um modelo
--dns 1.1.1.1 --dns 8.8.8.8O Docker fixa o DNS de um contêiner quando ele é criado e nunca o atualiza. Sem resolvedores que existam em qualquer rede, mover essa máquina entre redes quebra ela silenciosamente — veja Solução de problemas
-v neurogrid-data:/dataGuarda o token criptografado e sua configuração, então as atualizações mantêm o host registrado
-v /var/run/docker.sockComo o agente inicia os contêineres de trabalho. Isso é acesso equivalente a root sobre o host — o contêiner é empacotamento, não uma barreira de segurança
-v /var/lib/neurogrid/workloadsEspaços de trabalho, no mesmo caminho dos dois lados de propósito: o agente passa esse caminho para o daemon do Docker, que resolve ele no host
--restart unless-stoppedSobrevive a uma falha e volta junto com a máquina, mas fica desligado se você o parou de propósito

Com Docker Compose​

Vale a pena depois que você passar dos testes — mantém as flags em um arquivo em vez do histórico do seu shell.

curl -fLO https://raw.githubusercontent.com/NeuroGrid-AI-exchange/neurogrid-agent/main/docker-compose.yml
export AGENT_ENCRYPTION_PASSWORD="$(openssl rand -base64 32)"

docker compose run --rm agent --register-only --token ng_live_xxxxxxxx
docker compose up -d

--register-only encerra assim que o registro der certo, em vez de continuar para o daemon. Vale a pena como um passo separado porque up -d roda desacoplado: um registro que falha seria, do contrário, um loop de reinício com o motivo enterrado nos logs, em vez de uma saída com erro que você vê na hora.

Onde cada coisa fica​

Caminho
Token e configuraçãoo volume neurogrid-data, em /data dentro do contêiner
Logsdocker logs neurogrid-agent
Espaços de trabalho/var/lib/neurogrid/workloads no host

Nada é escrito no seu diretório home.

Próximo passo​