forked from bots-garden/ori
| ✨ Workspace panel, selectors, previews, desktop app, sandbox template, resizable file tree, light/dark theme | 1 | # Lancer Ori dans une sandbox Docker |
| 2 | ||
| 3 | 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. | |
| 4 | ||
| 5 | ## Étapes | |
| 6 | ||
| 7 | 1. Récupérez l'image du template — elle est publiée sur Docker Hub sous `k33g/ori:0.0.0`. Pour la (re)construire et la pousser vous-même, depuis la racine du dépôt : | |
| 8 | ||
| 9 | ```bash | |
| 10 | ./template/build.sh | |
| 11 | ``` | |
| 12 | ||
| 13 | Le script exécute un `docker buildx build --push` multi-architectures : la SPA et les binaires Go sont compilés dans des étapes intermédiaires, puis posés avec l'adaptateur `claude-code-acp` au-dessus de l'image officielle `docker/sandbox-templates:claude-code`. Pour une image locale uniquement, utilisez plutôt `make template`. | |
| 14 | ||
| 15 | 2. Créez la sandbox depuis votre répertoire de projet, avec le template et le kit ori, en mode détaché : | |
| 16 | ||
| 17 | ```bash | |
| 18 | sbx run -d claude ~/chemin/vers/votre/projet \ | |
| 19 | --template k33g/ori:0.0.0 \ | |
| 20 | --kit /chemin/vers/ori/kits/ori | |
| 21 | ``` | |
| 22 | ||
| 23 | Le `-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 create` ne tient une session que le temps de son exécution, donc une sandbox créée ainsi passe en `stopped` une demi-minute plus tard. Une sandbox détachée échappe à cet arrêt automatique jusqu'à ce que vous fassiez `sbx stop` ou `sbx rm`. L'option n'existe que sur `sbx run`, et le mode est figé à la création. | |
| 24 | ||
| 25 | 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. | |
| 26 | ||
| 27 | 3. 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` à la création (ou après coup avec `sbx ports <nom-de-la-sandbox> --publish 8888:8888/tcp`). | |
| 28 | ||
| 29 | ## Variantes | |
| 30 | ||
| 31 | - Le port d'écoute est un argument du kit (défaut 8888) : ajoutez `--kit-arg ori.port=9000` pour le changer (et publiez ce port-là à la place). | |
| 32 | - 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`. | |
| 33 | - Autonome, sans sbx : `docker run --rm -p 8888:8888 k33g/ori` (fournissez `ANTHROPIC_API_KEY`, ou utilisez l'agent de démonstration ci-dessous). | |
| 34 | - Démo sans identifiants : dans la sandbox, `pkill -x ori` puis relancez avec `--agent-cmd ori-mock-agent`. | |
| 35 | - Le log du serveur dans la sandbox est `/home/agent/.ori.log`. | |
| 36 | - Une sandbox arrêtée redémarre avec `sbx run -d --name <nom-de-la-sandbox>` (ou `sbx attach`) ; le kit relance le serveur à chaque démarrage. | |
| 37 | - Si une sandbox s'arrête quand même toute seule, cherchez des lignes `auto-stop` dans le journal du démon (`sbx daemon status` affiche son chemin) : elles signifient qu'elle n'a pas été créée détachée. | |
| 38 | ||
| 39 | ## Voir aussi | |
| 40 | ||
| 41 | - Détails du kit et contenu du template : [`kits/ori/README.md`](../../../kits/ori/README.md) | |
| 42 | - Options du serveur que le kit démarre : [référence : la commande ori](../reference/cli.md) |