Sandbox Docker Codex
Executer Codex depuis une sandbox Docker Dagu.
Utilisez une image runner contenant la CLI Codex, puis laissez Dagu executer provider: codex dans un container d'etape ou racine. Un login ChatGPT fonctionne si le container lit un CODEX_HOME fichier; CODEX_API_KEY convient aux runs codex exec.
steps:
- id: codex_login_status
action: harness.run
container:
image: dagu-codex-runner:local
pull_policy: never
working_dir: /workspace
volumes:
- .:/workspace:ro
- ${HOME}/.codex:/codex-home
env:
- CODEX_HOME=/codex-home
with:
provider: shell
prompt: |
set -eu
codex --version
codex login statusUtilise l'image publique ghcr.io/openai/codex-universal.
Verifie codex --version et le login avant les appels modele.
Supporte un CODEX_HOME monte pour le login ChatGPT.
Supporte CODEX_API_KEY pour les runs non interactifs codex exec.
Image runner
Installez Codex dans une image runner et videz l'entrypoint de base pour que Dagu controle la commande. La verification de version doit passer avant l'utilisation dans un DAG.
FROM ghcr.io/openai/codex-universal:latest
USER root
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates curl \
&& rm -rf /var/lib/apt/lists/*
ENV CODEX_NON_INTERACTIVE=1 \
CODEX_INSTALL_DIR=/usr/local/bin
RUN curl -fsSL https://chatgpt.com/codex/install.sh | sh
RUN codex --version
WORKDIR /workspace
ENTRYPOINT []
CMD ["/bin/bash"]Auth ChatGPT
Si la CLI hote est connectee avec ChatGPT et que les credentials sont stockes en fichiers, montez ce Codex home dans un chemin separe et definissez CODEX_HOME dans le container.
- Ne montez pas sur /root/.codex dans cette image, car le cache du package autonome y est installe.
- Si l'hote utilise un keychain OS, creez un CODEX_HOME fichier dedie au worker Dagu.
- auth.json contient des access tokens et doit etre traite comme un secret.
Run avec API key
Pour une automatisation qui ne reutilise pas ChatGPT, passez CODEX_API_KEY seulement a l'etape harness qui lance Codex.
steps:
- id: codex_review
action: harness.run
container:
image: dagu-codex-runner:local
pull_policy: never
working_dir: /workspace
volumes:
- .:/workspace:ro
env:
- CODEX_API_KEY=${CODEX_API_KEY}
with:
provider: codex
prompt: |
Review this repository and summarize the highest-risk issues.Portee du container
Utilisez un container d'etape si seul Codex a besoin du credential. Utilisez un container racine seulement si les etapes command et Codex doivent partager le meme toolchain et workspace.
Autres pages sandbox
Sandbox Docker Codex
Comprendre le comportement Docker racine et par etape.
Claude Code dans DockerUtiliser le meme schema Dagu harness avec Claude Code.
OpenCode dans DockerUtiliser le meme schema Dagu harness avec OpenCode.
CLI personnalisee dans DockerEncapsuler une CLI agent interne dans un custom harness provider.