From ba47c2fd9f428057e729e0db22b923d25737c0cd Mon Sep 17 00:00:00 2001 From: Jeffery Date: Mon, 29 Jun 2026 10:18:56 +0000 Subject: [PATCH] =?UTF-8?q?chore(Dockerfile):=20=E6=94=B9=E7=82=BA?= =?UTF-8?q?=E7=B4=94=E5=AE=89=E8=A3=9D=20Codex=20CLI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 17 +---------------- README.md | 15 +++++---------- app/verify_codex_email.sh | 16 ---------------- 3 files changed, 6 insertions(+), 42 deletions(-) delete mode 100644 app/verify_codex_email.sh diff --git a/Dockerfile b/Dockerfile index ef752b0..037435e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,6 @@ -# syntax=docker/dockerfile:1.4 FROM ubuntu:latest ENV DEBIAN_FRONTEND=noninteractive -ARG EXPECTED_CODEX_EMAIL=temp@gmail.com RUN apt-get update \ && apt-get install -y --no-install-recommends \ @@ -15,17 +13,4 @@ RUN apt-get update \ WORKDIR /workspace -COPY app/codex_account.js /usr/local/bin/codex-account -COPY app/verify_codex_email.sh /usr/local/bin/verify-codex-email -RUN chmod +x /usr/local/bin/codex-account /usr/local/bin/verify-codex-email - -ENV EXPECTED_CODEX_EMAIL=${EXPECTED_CODEX_EMAIL} - -RUN --mount=type=secret,id=codex_auth,required=true \ - install -d -m 700 /root/.codex \ - && cp /run/secrets/codex_auth /root/.codex/auth.json \ - && chmod 600 /root/.codex/auth.json \ - && EXPECTED_CODEX_EMAIL="$EXPECTED_CODEX_EMAIL" verify-codex-email \ - && rm -f /root/.codex/auth.json - -CMD ["codex-account"] +CMD ["codex", "--version"] diff --git a/README.md b/README.md index e1d650b..d6fae97 100644 --- a/README.md +++ b/README.md @@ -68,22 +68,17 @@ node app/codex_account.js ## Docker -此專案提供以 `ubuntu:latest` 為基底的 Dockerfile,會安裝 Node.js/npm 與 `@openai/codex`: +此專案提供以 `ubuntu:latest` 為基底的 Dockerfile,僅安裝 Node.js/npm 與 `@openai/codex`: ```bash -DOCKER_BUILDKIT=1 docker build \ - --secret id=codex_auth,src=/home/coder/jiantw83/Docker/gitea/codex/housefun.dev.01@gmail.com \ - --build-arg EXPECTED_CODEX_EMAIL='temp@gmail.com' \ - -t codex-account . -docker run --rm -v "$HOME/.codex:/root/.codex:ro" codex-account +docker build -t codex-cli . +docker run --rm codex-cli ``` -建置階段會透過 BuildKit secret 暫時掛載 OAuth token,執行 `verify-codex-email` 檢查 `codex-account` 取得的 email 是否等於 `EXPECTED_CODEX_EMAIL`。預設值為 `temp@gmail.com`;不相符時 `docker build` 會失敗,且 token 不會保留在 image layer。 - -容器啟動後預設執行 `codex-account`: +若要在容器內執行 Codex 並使用本機登入憑證,可掛載 `$HOME/.codex`: ```bash docker run --rm \ -v "$HOME/.codex:/root/.codex:ro" \ - codex-account + codex-cli codex --version ``` diff --git a/app/verify_codex_email.sh b/app/verify_codex_email.sh deleted file mode 100644 index e3f5fb9..0000000 --- a/app/verify_codex_email.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# 驗證 codex-account 取得的登入 email 是否符合 EXPECTED_CODEX_EMAIL。 - -set -eu - -expected_email="${EXPECTED_CODEX_EMAIL:-temp@gmail.com}" -actual_email="$(codex-account)" - -if [ "$actual_email" = "$expected_email" ]; then - printf 'Codex account email verified: %s\n' "$actual_email" - exit 0 -fi - -printf 'Codex account email mismatch: expected %s, got %s\n' \ - "$expected_email" "${actual_email:-}" >&2 -exit 1