Saltar al contenido principal

Instalar en Linux

Tres comandos, de principio a fin.

1. Comprueba que la máquina está lista​

# Docker está instalado y puedes usarlo sin sudo
docker run hello-world

# El driver de NVIDIA está instalado y Docker puede ver la GPU
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

El segundo comando debe imprimir tu tarjeta. Si falla, falta el driver o el NVIDIA Container Toolkit — esa es la única pieza que tienes que instalar tú mismo.

2. Elige una contraseña y guárdala​

Esto cifra tu token guardado. Genera una y guárdala en algún lugar donde la sigas teniendo dentro de seis meses.

export AGENT_ENCRYPTION_PASSWORD="$(openssl rand -base64 32)"
echo "$AGENT_ENCRYPTION_PASSWORD" # anótala ahora mismo

3. Ejecútalo​

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

Reemplaza ng_live_xxxxxxxx con el token de la consola. Esa es toda la instalación — la imagen se descarga automáticamente si no la tienes.

Mira cómo arranca:

docker logs -f neurogrid-agent

Estás buscando Bootstrap sent successfully, y luego Heartbeat sent successfully cada 30 segundos. Tu GPU pasa a confirmada en la consola en ese mismo momento.

No necesitas --token otra vez. Pásalo una segunda vez y se ignora a favor del que ya está guardado.

Para qué sirve cada bandera​

BanderaPor qué no se puede quitar
--gpus allSin ella no hay nvidia-smi dentro del contenedor, así que el agente no puede medir la VRAM ni dimensionar un modelo
--dns 1.1.1.1 --dns 8.8.8.8Docker fija el DNS de un contenedor cuando se crea y nunca lo actualiza. Sin resolutores que existan en cualquier red, mover esta máquina entre redes la rompe en silencio — ver Solución de problemas
-v neurogrid-data:/dataGuarda el token cifrado y tu configuración, así las actualizaciones mantienen el host registrado
-v /var/run/docker.sockCómo el agente arranca los contenedores de trabajo. Esto es acceso equivalente a root sobre el host — el contenedor es empaquetado, no un límite de seguridad
-v /var/lib/neurogrid/workloadsEspacios de trabajo, en la misma ruta en ambos lados a propósito: el agente le pasa esta ruta al daemon de Docker, que la resuelve en el host
--restart unless-stoppedSobrevive a un fallo y vuelve con la máquina, pero se queda apagado si tú lo detuviste a propósito

Con Docker Compose​

Vale la pena una vez que ya pasaste las pruebas — guarda las banderas en un archivo en lugar de en el historial de tu 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 termina en cuanto el registro se logra, en lugar de continuar hacia el daemon. Vale la pena como paso aparte porque up -d corre desacoplado: un registro fallido sería, de otro modo, un bucle de reinicio con la razón enterrada en los logs, en vez de una salida con error que ves de inmediato.

Dónde vive cada cosa​

Ruta
Token y configuraciónel volumen neurogrid-data, en /data dentro del contenedor
Logsdocker logs neurogrid-agent
Espacios de trabajo/var/lib/neurogrid/workloads en el host

Nada se escribe en tu directorio home.

Siguiente​