Saltar al contenido
omni

Docker

Imagen con Omni y los CLI en versiones fijas, para ejecutar ai serve en tu propio servidor. Incluye Claude Code, Codex, Cursor y Grok. Antigravity no está incluido, porque no se instala por comando.

git clone https://github.com/samuelrms/omni-ai-cli && cd omni-ai-cli
docker compose up -d
docker compose logs omni                       # clave generada en el primer inicio
docker exec -it omni ai --account login primary
  • Inicio de sesión: consulta Inicio de sesión sin navegador. Las claves de proveedores van con docker exec -it omni ai --key <herramienta>.
  • Datos: los inicios de sesión, las claves, la configuración y los cooldowns están en el volumen omni-home, que sobrevive a la recreación del contenedor. docker compose down -v lo elimina.
  • Clave del servidor: si no se indica ninguna, se genera una y aparece una sola vez en el log. Para definir la tuya, usa SMART_AI_SERVER_KEY, o SMART_AI_SERVER_KEY_FILE con un Docker secret. docker-compose.yml trae el ejemplo.
  • Puerto: publicado solo en 127.0.0.1. OMNI_PORT cambia el puerto.
  • Aislamiento: se ejecuta sin root, con sistema de archivos de solo lectura y sin capabilities.
  • Modos: OMNI_MODE=plan|edits|auto|yolo docker compose up -d (por defecto: plan). Las herramientas trabajan en /workspace, en el volumen omni-workspace. Para usar tu carpeta, define OMNI_WORKSPACE=/ruta, con escritura para el uid 10001.
  • Riesgo fuera de plan: los comandos se ejecutan con el mismo usuario que guarda los inicios de sesión en omni-home. Quien tiene la clave puede leerlos, así que da claves solo a personas de confianza y revoca las sesiones si una se filtra.
  • Codex: su sandbox no arranca en el contenedor, porque necesita recursos bloqueados por Docker y por el kernel del host. Solo usa herramientas en yolo, con el contenedor como aislamiento. En plan, edits y auto solo responde, sin leer ni cambiar archivos.
  • Actualización: git pull && docker compose up -d --build. ai --update no se aplica a la imagen.
  • Imagen lista: export OMNI_IMAGE=ghcr.io/samuelrms/omni-ai-cli:latest && docker compose pull omni && docker compose up -d --no-build. Cada release publica su versión y latest, para amd64 y arm64. Para fijar una versión, cambia latest por su número, como 1.23.0. La imagen incluye CLI de terceros, sujetos a sus propios términos; el uso de tu cuenta también sigue esos términos.

Para exponerlo en red, usa un proxy inverso con HTTPS, como Caddy:

omni.example.com {
    reverse_proxy 127.0.0.1:8080
}

Riesgo: el contenedor no ve los archivos de tu máquina, pero sí ve el volumen. Quien tiene la clave puede pedirle a una herramienta que lea las credenciales guardadas allí. Trata la clave del servidor como acceso a tus cuentas.

Este texto viene del README del proyecto. Ver el original en GitHub