Pular para o conteúdo
omni

Docker

Imagem com o Omni e os CLIs em versões fixas, para rodar o ai serve em servidor próprio. Inclui Claude Code, Codex, Cursor e Grok. O Antigravity não está incluído, porque não tem instalação por comando.

git clone https://github.com/samuelrms/omni-ai-cli && cd omni-ai-cli
docker compose up -d
docker compose logs omni                       # chave gerada no primeiro início
docker exec -it omni ai --account login primary
  • Login: veja Login sem navegador. Chaves de provedores vão com docker exec -it omni ai --key <ferramenta>.
  • Dados: logins, chaves, configuração e cooldowns ficam no volume omni-home, que sobrevive à recriação do container. docker compose down -v apaga esse volume.
  • Chave do servidor: sem chave informada, uma é gerada e aparece uma única vez no log. Para definir a sua, use SMART_AI_SERVER_KEY, ou SMART_AI_SERVER_KEY_FILE com um Docker secret. O docker-compose.yml traz o exemplo.
  • Porta: publicada só em 127.0.0.1. OMNI_PORT muda a porta.
  • Isolamento: roda sem root, com sistema de arquivos somente leitura e sem capabilities.
  • Modos: OMNI_MODE=plan|edits|auto|yolo docker compose up -d (padrão: plan). As ferramentas trabalham em /workspace, no volume omni-workspace. Para usar uma pasta sua, defina OMNI_WORKSPACE=/caminho, com escrita liberada para o uid 10001.
  • Risco fora do plan: os comandos rodam no mesmo usuário que guarda os logins em omni-home. Quem tem a chave pode ler esses logins, então use uma chave por pessoa de confiança e revogue sessões se ela vazar.
  • Codex: o sandbox dele não inicia no container, porque depende de recursos bloqueados pelo Docker e pelo kernel do host. Ele só usa ferramentas em yolo, com o container como isolamento. Em plan, edits e auto, ele apenas responde, sem ler nem alterar arquivos.
  • Atualização: git pull && docker compose up -d --build. ai --update não se aplica à imagem.
  • Imagem pronta: export OMNI_IMAGE=ghcr.io/samuelrms/omni-ai-cli:latest && docker compose pull omni && docker compose up -d --no-build. Cada release publica a versão e latest, para amd64 e arm64. Para fixar uma versão, troque latest pelo número, como 1.23.0. A imagem inclui CLIs de terceiros, sujeitos aos termos de cada um; o uso da sua conta também segue esses termos.

Para expor em rede, use um proxy reverso com HTTPS, como o Caddy:

omni.example.com {
    reverse_proxy 127.0.0.1:8080
}

Risco: o container não enxerga os arquivos da sua máquina, mas enxerga o volume. Quem tem a chave pode pedir a uma ferramenta que leia as credenciais guardadas nele. Trate a chave do servidor como acesso às suas contas.

Este texto vem do README do projeto. Ver o original no GitHub