forked from bots-garden/ori
Lancer Ori dans une sandbox Docker
Ce guide montre comment empaqueter Ori en template Docker Sandboxes et le lancer avec sbx, pour que toute la pile — Claude Code compris — vive dans une sandbox isolée accessible depuis votre navigateur. Il suppose Docker et la CLI sbx sur l'hôte.
Étapes
-
Récupérez l'image du template — elle est publiée sur Docker Hub sous
k33g/ori:0.0.2. Pour la (re)construire et la pousser vous-même, depuis la racine du dépôt :./template/build.shLe script exécute un
docker buildx build --pushmulti-architectures : la SPA et les binaires Go sont compilés dans des étapes intermédiaires, puis posés avec l'adaptateurclaude-agent-acpau-dessus de l'image officielledocker/sandbox-templates:claude-code. Pour une image locale uniquement, utilisez plutôtmake template. -
Créez la sandbox depuis votre répertoire de projet, avec le template et le kit ori, en mode détaché :
sbx run -d claude ~/chemin/vers/votre/projet \ --template k33g/ori:0.0.2 \ --kit /chemin/vers/ori/kits/oriLe
-d(--detached) est important : sbx arrête une sandbox 30 secondes après la fermeture de la dernière session CLI ouverte dessus, et le trafic du navigateur sur un port publié n'est pas une session.sbx createne tient une session que le temps de son exécution, donc une sandbox créée ainsi passe enstoppedune demi-minute plus tard. Une sandbox détachée échappe à cet arrêt automatique jusqu'à ce que vous fassiezsbx stopousbx rm. L'option n'existe que sursbx run, et le mode est figé à la création.Pour fixer un port hôte, ajoutez
-p 5555:8888/tcp. Gardez le suffixe/tcp: sans protocole, sbx ne lie que l'IPv4 (tcp4), et un navigateur qui résoutlocalhosten::1affiche « site inaccessible » alors que le serveur tourne. Évitez les ports que Chrome refuse d'office, comme 6665 à 6669.La commande de démarrage du kit lance le serveur ori sur le port 8888 à chaque démarrage du conteneur ; le kit agent claude injecte les identifiants Anthropic via le proxy de la sandbox, donc aucune connexion n'est nécessaire à l'intérieur.
-
Ouvrez l'interface : le kit déclare le port 8888, la sortie de la commande affiche donc l'adresse éphémère publiée —
Published web: localhost:<port> -> 8888/tcp. Ouvrez-la, ou fixez un port stable avec-p 8888:8888/tcpà la création (ou après coup avecsbx ports <nom-de-la-sandbox> --publish 8888:8888/tcp).
Variantes
- Le port d'écoute est un argument du kit (défaut 8888) : ajoutez
--kit-arg ori.port=9000pour le changer, et publiez ce port vous-même avec-p 9000:9000— le port que le kit déclare pour l'auto-publication est fixé à 8888. - Si l'image n'a jamais été poussée sur Docker Hub, confiez-la d'abord au magasin d'images du runtime des sandboxes :
docker save k33g/ori -o /tmp/ori.tar && sbx template load /tmp/ori.tar. - Autonome, sans sbx :
docker run --rm -p 8888:8888/tcp k33g/ori(fournissezANTHROPIC_API_KEY, ou utilisez l'agent de démonstration ci-dessous). - Démo sans identifiants : dans la sandbox,
pkill -x oripuis relancez avec--agent-cmd ori-mock-agent. - Le log du serveur dans la sandbox est
/home/agent/.ori.log. - Une sandbox arrêtée redémarre avec
sbx run -d --name <nom-de-la-sandbox>(ousbx attach) ; le kit relance le serveur à chaque démarrage. - Si une sandbox s'arrête quand même toute seule, cherchez des lignes
auto-stopdans le journal du démon (sbx daemon statusaffiche son chemin) : elles signifient qu'elle n'a pas été créée détachée.
Voir aussi
- Détails du kit et contenu du template :
kits/ori/README.md - Options du serveur que le kit démarre : référence : la commande ori
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|