longjianghu/zentrola-codex-base 是 Zentrola 使用的轻量级 Codex 运行时基础镜像。
镜像基于 Alpine Linux,包含 OpenAI Codex 原生可执行文件及运行所需的 CA 证书和时区数据。Node.js 和 npm 只在构建阶段用于获取 Codex,最终镜像中不包含 Node.js/npm。
这是用于构建应用镜像的基础镜像,不是完整的 Zentrola 服务。部署 Zentrola 请使用
longjianghu/zentrola。
| 项目 | 值 |
|---|---|
| Codex 版本 | 0.154.0 |
| 基础系统 | Alpine Linux 3.22 |
| 支持架构 | linux/amd64、linux/arm64 |
| Codex 路径 | /usr/local/bin/codex |
| 默认用户 | zentrola |
| UID / GID | 10001:10001 |
| 工作目录 | /app |
| 数据卷 | /app/data |
| 时区 | Asia/Shanghai |
| Node.js/npm | 最终镜像不包含 |
docker pull longjianghu/zentrola-codex-base:0.154.0
生产构建建议固定使用明确的版本号,不要依赖浮动标签。
docker run --rm \
longjianghu/zentrola-codex-base:0.154.0 \
codex --version
查看 Codex 帮助:
docker run --rm \
longjianghu/zentrola-codex-base:0.154.0 \
codex --help
该镜像没有预设 ENTRYPOINT 或 CMD。直接运行时必须明确指定命令。
镜像预设以下环境变量:
HOME=/app/data
CODEX_HOME=/app/data/.codex
CODEX_EXECUTABLE=/usr/local/bin/codex
TZ=Asia/Shanghai
其中:
HOME:容器内非 root 用户的主目录CODEX_HOME:Codex 配置和状态目录CODEX_EXECUTABLE:Codex 原生可执行文件路径TZ:容器默认时区如需保留 Codex 配置或状态,应将持久化卷挂载到 /app/data。
在应用的 Dockerfile 中继承此镜像:
FROM longjianghu/zentrola-codex-base:0.154.0
WORKDIR /app
COPY --chown=zentrola:zentrola ./dist/ /app/
USER zentrola
ENTRYPOINT ["/app/your-application"]
基础镜像已提供:
/usr/local/bin/codex
应用可以通过环境变量引用该路径:
CODEX_EXECUTABLE=/usr/local/bin/codex
Zentrola 应用镜像通过 BASE_IMAGE 构建参数继承此镜像:
docker build \
--build-arg BASE_IMAGE=longjianghu/zentrola-codex-base:0.154.0 \
--build-arg APP_VERSION=1.0.0 \
-t longjianghu/zentrola:1.0.0 \
.
该基础镜像为 Zentrola 提供官方 Codex CLI,用于受支持的 ChatGPT/Codex 个人订阅认证和凭据刷新。
完整 Zentrola 服务请使用:
docker pull longjianghu/zentrola:1.0.0
项目提供的完整 Docker Compose 部署配置:
https://github.com/zentrola/zentrola/blob/main/compose.yaml
需要保留 Codex 状态时,可以创建 Docker 命名卷:
docker volume create codex_data
运行容器时挂载:
docker run --rm \
-v codex_data:/app/data \
longjianghu/zentrola-codex-base:0.154.0 \
codex --version
/app/data 的内容归容器用户 10001:10001 所有。使用宿主机目录挂载时,请确保该用户具有相应的读写权限。
从源代码构建并推送 linux/amd64 和 linux/arm64 镜像:
docker buildx build `
--platform linux/amd64,linux/arm64 `
-f docker/codex-base/Dockerfile `
--build-arg VCS_REF=(git rev-parse HEAD) `
--build-arg BUILD_DATE=(Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') `
-t longjianghu/zentrola-codex-base:0.154.0 `
--push `
.
仅生成本地 OCI 镜像归档:
docker buildx build `
--platform linux/amd64,linux/arm64 `
-f docker/codex-base/Dockerfile `
--build-arg VCS_REF=(git rev-parse HEAD) `
--build-arg BUILD_DATE=(Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ') `
-t longjianghu/zentrola-codex-base:0.154.0 `
--output "type=oci,dest=dist/zentrola-codex-base-0.154.0.tar" `
.
多平台 manifest 不能通过 --load 同时加载到本地 Docker 镜像仓库。需要推送到镜像仓库时使用 --push,需要离线归档时使用 --output type=oci。
zentrola。/app/data/.codex 内容写入镜像。该镜像重新分发 OpenAI Codex。相关许可证和归属声明位于镜像中的:
/usr/share/licenses/codex/LICENSE
/usr/share/licenses/codex/NOTICE
Content type
Image
Digest
sha256:7fc46e582…
Size
128.5 MB
Last updated
22 days ago
docker pull longjianghu/zentrola-codex-base:0.154.0