Codex Docker sandbox
Dagu Docker sandbox से Codex चलाएं।
ऐसी runner image use करें जिसमें Codex CLI हो, फिर Dagu को step-level या root-level container में provider: codex चलाने दें। File-backed CODEX_HOME readable हो तो ChatGPT login काम करता है; API-key runs CODEX_API_KEY use कर सकते हैं।
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 statusPublic ghcr.io/openai/codex-universal base image use करता है।
Model calls से पहले codex --version और login status verify करता है।
ChatGPT subscription login के लिए mounted CODEX_HOME support करता है।
Non-interactive codex exec runs के लिए CODEX_API_KEY support करता है।
Runner image
Codex को runner image में install करें और base entrypoint clear करें ताकि Dagu command control कर सके। DAG में use करने से पहले version check pass होना चाहिए।
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"]ChatGPT subscription auth
अगर host CLI ChatGPT से logged in है और credentials file-backed हैं, उस Codex home को अलग path पर mount करें और container में CODEX_HOME set करें।
- इस image में /root/.codex के ऊपर mount न करें, क्योंकि standalone package cache वहीं रहता है।
- अगर host OS keychain use करता है, Dagu worker के लिए अलग file-backed CODEX_HOME बनाएं।
- auth.json में access tokens होते हैं, इसे secret की तरह treat करें।
API-key run
ऐसी automation के लिए जो ChatGPT login reuse नहीं करती, CODEX_API_KEY सिर्फ उस harness step को दें जो 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.Container scope
अगर credential सिर्फ Codex को चाहिए तो step-level container use करें। Root-level container तभी use करें जब command steps और Codex को वही toolchain और workspace share करना हो।
More sandbox pages