Aller au contenu
omni

Docker

Une image avec Omni et les CLI en versions figées, pour exécuter ai serve sur votre propre serveur. Elle inclut Claude Code, Codex, Cursor et Grok. Antigravity n'est pas inclus, car il ne s'installe pas en ligne de commande.

git clone https://github.com/samuelrms/omni-ai-cli && cd omni-ai-cli
docker compose up -d
docker compose logs omni                       # clé générée au premier démarrage
docker exec -it omni ai --account login primary
  • Connexion : voir Connexion sans navigateur. Les clés des fournisseurs passent par docker exec -it omni ai --key <outil>.
  • Données : connexions, clés, configuration et cooldowns restent dans le volume omni-home, qui survit à la recréation du conteneur. docker compose down -v le supprime.
  • Clé du serveur : si aucune n'est fournie, une clé est générée et affichée une seule fois dans le journal. Pour définir la vôtre, utilisez SMART_AI_SERVER_KEY, ou SMART_AI_SERVER_KEY_FILE avec un Docker secret. docker-compose.yml contient l'exemple.
  • Port : publié uniquement sur 127.0.0.1. OMNI_PORT change le port.
  • Isolation : s'exécute sans root, avec un système de fichiers en lecture seule et sans capabilities.
  • Modes : OMNI_MODE=plan|edits|auto|yolo docker compose up -d (par défaut : plan). Les outils travaillent dans /workspace, sur le volume omni-workspace. Pour utiliser votre dossier, définissez OMNI_WORKSPACE=/chemin, accessible en écriture à l'uid 10001.
  • Risque hors de plan : les commandes tournent avec l'utilisateur qui détient les connexions dans omni-home. Qui détient la clé peut les lire : ne donnez de clés qu'à des personnes de confiance et révoquez les sessions en cas de fuite.
  • Codex : son sandbox ne démarre pas dans le conteneur, car il a besoin de fonctions bloquées par Docker et le noyau de l'hôte. Il n'utilise des outils qu'en yolo, avec le conteneur comme isolation. En plan, edits et auto, il répond seulement, sans lire ni modifier de fichiers.
  • Mise à jour : git pull && docker compose up -d --build. ai --update ne s'applique pas à l'image.
  • Image prête : export OMNI_IMAGE=ghcr.io/samuelrms/omni-ai-cli:latest && docker compose pull omni && docker compose up -d --no-build. Chaque release publie sa version et latest, pour amd64 et arm64. Pour figer une version, remplacez latest par son numéro, comme 1.23.0. L'image inclut des CLI tiers, soumis à leurs propres conditions ; l'utilisation de votre compte suit aussi ces conditions.

Pour l'exposer sur un réseau, utilisez un proxy inverse avec HTTPS, comme Caddy :

omni.example.com {
    reverse_proxy 127.0.0.1:8080
}

Risque : le conteneur ne voit pas les fichiers de votre machine, mais il voit le volume. Toute personne disposant de la clé peut demander à un outil de lire les identifiants qui y sont stockés. Traitez la clé du serveur comme un accès à vos comptes.

Ce texte provient du README du projet. Voir l'original sur GitHub