Files
codex/Dockerfile

36 lines
1.3 KiB
Docker

FROM alpine:latest
# 設定安裝用的環境變數
ENV CODEX_NON_INTERACTIVE=1
ENV CODEX_INSTALL_DIR=/usr/local/bin
ENV CODEX_HOME=/root/.codex
ARG CODEX_INSTALL_SHA256=73eb367137d151eabe89590a1d1a08a9c2fe2800a656bffac3c5707b62b42683
ARG CODEX_DOC_MARKETPLACE_REF=f8da961328a85f267b4402566e127310370169da
ARG CODEX_CODE_REVIEW_MARKETPLACE_REF=9e016edff016d58f4d64e0a5468220d35a0f657b
# 安裝必要的工具
RUN apk add --no-cache --no-check-certificate bash ca-certificates curl git jq nodejs
# 安裝 Codex CLI 工具
RUN install_script="$(mktemp)" \
&& trap 'rm -f "$install_script"' EXIT \
&& curl -fsSL --retry 3 --retry-delay 2 --max-time 120 \
https://chatgpt.com/codex/install.sh \
-o "$install_script" \
&& echo "${CODEX_INSTALL_SHA256} ${install_script}" | sha256sum -c - \
&& sh "$install_script" \
&& codex --version
# 安裝技能
RUN codex plugin marketplace add "https://gitea.jsc.idv.tw/plugins/doc.git" --ref "$CODEX_DOC_MARKETPLACE_REF" \
&& codex plugin marketplace add "https://gitea.jsc.idv.tw/plugins/code-review.git" --ref "$CODEX_CODE_REVIEW_MARKETPLACE_REF" \
&& codex plugin add "jsc@doc" \
&& codex plugin add "jsc@code-review"
COPY app /app
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh /app/main.js
ENTRYPOINT ["/entrypoint.sh"]