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 -vlo 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, oSMART_AI_SERVER_KEY_FILEcon un Docker secret.docker-compose.ymltrae el ejemplo. - Puerto: publicado solo en
127.0.0.1.OMNI_PORTcambia 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 volumenomni-workspace. Para usar tu carpeta, defineOMNI_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 enomni-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. Enplan,editsyautosolo responde, sin leer ni cambiar archivos. - Actualización:
git pull && docker compose up -d --build.ai --updateno 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 ylatest, para amd64 y arm64. Para fijar una versión, cambialatestpor su número, como1.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