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
| Bandera | Por qué no se puede quitar |
|---|---|
--gpus all | Sin 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.8 | Docker 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:/data | Guarda el token cifrado y tu configuración, así las actualizaciones mantienen el host registrado |
-v /var/run/docker.sock | Có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/workloads | Espacios 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-stopped | Sobrevive 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ón | el volumen neurogrid-data, en /data dentro del contenedor |
| Logs | docker logs neurogrid-agent |
| Espacios de trabajo | /var/lib/neurogrid/workloads en el host |
Nada se escribe en tu directorio home.