Mantenerlo actualizado
El agente no se actualiza solo. La versión que instalas es la que sigues corriendo hasta que la reemplazas. Actualizar es un pull y una recreación, y toma cerca de un minuto.
Recrear el contenedor reutiliza el token guardado en el volumen
neurogrid-data, y ese token está cifrado con tu contraseña. Una contraseña
distinta no puede leerlo y la máquina tendría que registrarse de nuevo con un
token nuevo.
Actualizar
docker pull ghcr.io/neurogrid-ai-exchange/neurogrid-agent:latest
docker stop neurogrid-agent
docker rm neurogrid-agent
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
Sin --token esta vez. El guardado sigue ahí.
Con Compose es más corto:
docker compose pull
docker compose up -d
Hazlo mientras estás inactivo
Recrear el contenedor mata cualquier trabajo que esté corriendo, y un trabajo que muere a medias es un fallo en tu historial. Revisa primero:
docker ps --filter "name=neurogrid-job" --format '{{.Names}}'
Si no hay salida, nada está sirviendo y eres libre de actualizar. Si hay un trabajo en curso, espera a que termine o pausa el listado en la consola y actualiza cuando se vacíe.
En qué versión estoy
docker inspect neurogrid-agent --format '{{.Config.Image}}'
docker images --digests | grep neurogrid-agent
:latest no dice mucho por sí solo — compara el digest contra
la página del paquete
para ver si existe una versión más nueva.
¿Debería actualizar automáticamente?
Puedes, con una herramienta como Watchtower, pero piensa antes en el trade-off: una actualización sin supervisión que cae a mitad de un trabajo lo mata. Si la automatizas, limítala al contenedor del agente y dale un horario durante las horas en que tu tarjeta suele estar inactiva.
Limpiar imágenes viejas
Cada actualización deja atrás la imagen anterior. Son pequeñas (~250 MB), pero se acumulan:
docker image prune -f
Eso elimina solo las imágenes sin etiqueta. No tocará la imagen del motor vLLM (~20 GB) ni tu caché de modelos de Hugging Face, y no quieres que lo haga — eso es lo que hace que el próximo trabajo arranque rápido.