codex-universal (local-build-08ab5b19333d)

Published 2026-06-05 13:19:33 +00:00 by makistsantekidis

Installation

docker pull forgejo.chonk.maquies.me/makistsantekidis/codex-universal:local-build-08ab5b19333d
sha256:f46086f5cf3142118518c0b0b07ed3ebf78678a16bb3a9472e66f1a08473ce59

About this package

The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.

Image layers

umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/ubuntu:rockcraft-base /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/.temp_layer.4415.tar --tag 26.04
umoci config --image /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/ubuntu:26.04 --clear=config.entrypoint --clear=config.cmd
umoci config --image /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/ubuntu:26.04 --clear=config.cmd --config.cmd /bin/bash
umoci config --image /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/ubuntu:26.04 --config.env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
umoci config --image /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/ubuntu:26.04 --clear=config.labels --config.label org.opencontainers.image.version=26.04 --config.label org.opencontainers.image.title=ubuntu --config.label org.opencontainers.image.created=2026-04-21T17:23:54.324551+00:00 --config.label org.opencontainers.image.description=The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
umoci config --image /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/ubuntu:26.04 --clear=manifest.annotations --manifest.annotation org.opencontainers.image.version=26.04 --manifest.annotation org.opencontainers.image.title=ubuntu --manifest.annotation org.opencontainers.image.created=2026-04-21T17:23:54.324551+00:00 --manifest.annotation org.opencontainers.image.description=The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/ubuntu:26.04 /home/buildd/rockcraft-ubuntu-5691f940e215a35dc9b91fc1887cae39/images/.temp_layer.control_data.4415.tar
ARG TARGETOS
ARG TARGETARCH
ARG IMAGE_PROFILE=slim
ARG INSTALL_LLVM=1
ARG INSTALL_PYTHON=1
ARG INSTALL_NODE=1
ARG INSTALL_CODEX_CLI=1
ARG INSTALL_OPENCODE_CLI=1
ARG INSTALL_GOOSE=1
ARG INSTALL_FORGEJO_CLI=1
ARG INSTALL_BUN=1
ARG INSTALL_JAVA=0
ARG INSTALL_SWIFT=0
ARG INSTALL_RUST=1
ARG INSTALL_RUBY=0
ARG INSTALL_CPP_TOOLS=1
ARG INSTALL_BAZEL=0
ARG INSTALL_GO=1
ARG INSTALL_PHP=0
ARG INSTALL_ELIXIR=0
ARG CODEX_UID=1000
ARG CODEX_GID=1000
ENV LANG=C.UTF-8
ENV HOME=/root
ENV DEBIAN_FRONTEND=noninteractive
ENV CODEX_USER=codex
ENV CODEX_USER_HOME=/home/codex
ENV MISE_DATA_DIR=/opt/mise/data
ENV MISE_CONFIG_DIR=/opt/mise/config
ENV MISE_CACHE_DIR=/opt/mise/cache
ENV MISE_STATE_DIR=/opt/mise/state
ENV HOMEBREW_PREFIX=/home/linuxbrew/.linuxbrew
ENV HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew
ENV HOMEBREW_CELLAR=/home/linuxbrew/.linuxbrew/Cellar
ENV HOMEBREW_NO_ANALYTICS=1
ENV HOMEBREW_NO_ENV_HINTS=1
ENV HOMEBREW_NO_INSTALL_CLEANUP=1
ENV HOMEBREW_INSTALL_FROM_API=1
ENV HOMEBREW_NO_AUTO_UPDATE=1
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |22 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates binutils bubblewrap dbus dbus-x11 sudo build-essential curl fd-find file gettext git git-lfs gnome-keyring gnupg jq libbz2-dev libc6 libc6-dev libcurl4-openssl-dev libdb-dev libdbus-1-dev libedit2 libffi-dev libgdbm-compat-dev libgdbm-dev liblzma-dev libncurses-dev libnss3-dev libreadline-dev libsqlite3-dev libssl-dev libsecret-1-0 libsecret-tools libuuid1 libxcb1 libxml2-dev make netcat-openbsd openssh-client pkg-config procps protobuf-compiler ripgrep rsync software-properties-common sqlite3 tk-dev tzdata unzip uuid-dev wget xz-utils zip zlib1g zlib1g-dev && rm -rf /var/lib/apt/lists/* # buildkit
RUN |22 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 /bin/sh -c if getent group "$CODEX_GID" >/dev/null; then existing_group="$(getent group "$CODEX_GID" | cut -d: -f1)"; [ "$existing_group" = "$CODEX_USER" ] || groupmod --new-name "$CODEX_USER" "$existing_group"; else groupadd --gid "$CODEX_GID" "$CODEX_USER"; fi && if getent passwd "$CODEX_UID" >/dev/null; then existing_user="$(getent passwd "$CODEX_UID" | cut -d: -f1)"; [ "$existing_user" = "$CODEX_USER" ] || usermod --login "$CODEX_USER" --home "$CODEX_USER_HOME" --move-home --gid "$CODEX_GID" --shell /bin/bash "$existing_user"; else useradd --uid "$CODEX_UID" --gid "$CODEX_GID" --create-home --home-dir "$CODEX_USER_HOME" --shell /bin/bash "$CODEX_USER"; fi && install -d -o "$CODEX_UID" -g "$CODEX_GID" "$CODEX_USER_HOME" /workspace # buildkit
RUN |22 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 /bin/sh -c install -d -o "$CODEX_UID" -g "$CODEX_GID" /home/linuxbrew "$HOMEBREW_PREFIX" "$HOMEBREW_PREFIX/bin" "$HOMEBREW_PREFIX/sbin" /tmp/homebrew-home /tmp/homebrew-cache && git clone --depth 1 https://github.com/Homebrew/brew "$HOMEBREW_REPOSITORY" && ln -s "$HOMEBREW_REPOSITORY/bin/brew" "$HOMEBREW_PREFIX/bin/brew" && chown -R "$CODEX_UID:$CODEX_GID" /home/linuxbrew /tmp/homebrew-home /tmp/homebrew-cache && sudo -E -u "$CODEX_USER" env HOME=/tmp/homebrew-home HOMEBREW_CACHE=/tmp/homebrew-cache PATH="$PATH" "$HOMEBREW_PREFIX/bin/brew" --version # buildkit
RUN |22 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 /bin/sh -c install -d -o "$CODEX_UID" -g "$CODEX_GID" /tmp/homebrew-home /tmp/homebrew-cache && formulae="" && casks="" && if [ "$INSTALL_FORGEJO_CLI" = "1" ]; then formulae="$formulae forgejo-cli"; fi && if [ "$INSTALL_OPENCODE_CLI" = "1" ]; then formulae="$formulae anomalyco/tap/opencode"; fi && if [ "$INSTALL_CODEX_CLI" = "1" ]; then casks="$casks codex"; fi && if [ -n "$formulae" ]; then sudo -E -u "$CODEX_USER" env HOME=/tmp/homebrew-home HOMEBREW_CACHE=/tmp/homebrew-cache PATH="$PATH" "$HOMEBREW_PREFIX/bin/brew" install $formulae; fi && if [ -n "$casks" ]; then sudo -E -u "$CODEX_USER" env HOME=/tmp/homebrew-home HOMEBREW_CACHE=/tmp/homebrew-cache PATH="$PATH" "$HOMEBREW_PREFIX/bin/brew" install --cask $casks; fi && if [ "$INSTALL_CODEX_CLI" = "1" ]; then sudo -E -u "$CODEX_USER" env HOME=/tmp/homebrew-home PATH="$PATH" codex --version; fi && if [ "$INSTALL_OPENCODE_CLI" = "1" ]; then sudo -E -u "$CODEX_USER" env HOME=/tmp/homebrew-home PATH="$PATH" opencode --version; fi && if [ "$INSTALL_FORGEJO_CLI" = "1" ]; then sudo -E -u "$CODEX_USER" env HOME=/tmp/homebrew-home PATH="$PATH" fj version; fi && rm -rf /tmp/homebrew-home /tmp/homebrew-cache # buildkit
RUN |22 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 /bin/sh -c install -dm 0755 /etc/apt/keyrings && curl -fsSL https://mise.jdx.dev/gpg-key.pub | gpg --batch --yes --dearmor -o /etc/apt/keyrings/mise-archive-keyring.gpg && chmod 0644 /etc/apt/keyrings/mise-archive-keyring.gpg && echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg] https://mise.jdx.dev/deb stable main" > /etc/apt/sources.list.d/mise.list && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends mise/stable && rm -rf /var/lib/apt/lists/* && install -d "$MISE_DATA_DIR" "$MISE_CONFIG_DIR" "$MISE_CACHE_DIR" "$MISE_STATE_DIR" && mise settings set experimental true && mise settings set override_tool_versions_filenames none && mise settings add idiomatic_version_file_enable_tools "[]" && mise settings add disable_backends asdf && mise settings add disable_backends vfox # buildkit
ENV PATH=/opt/mise/data/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |22 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 /bin/sh -c if [ "$INSTALL_LLVM" = "1" ]; then apt-get update && apt-get install -y --no-install-recommends clang lld cmake ccache ninja-build nasm yasm gawk lsb-release && rm -rf /var/lib/apt/lists/* && command -v clang && command -v clang++ && command -v lld; fi # buildkit
ARG PYTHON_VERSIONS=3.14
ENV PYENV_ROOT=/opt/pyenv
ENV PATH=/opt/pyenv/bin:/opt/pyenv/shims:/opt/mise/data/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |23 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 /bin/sh -c if [ "$INSTALL_PYTHON" = "1" ]; then git -c advice.detachedHead=0 clone --depth 1 https://github.com/pyenv/pyenv.git "$PYENV_ROOT" && cd "$PYENV_ROOT" && src/configure && make -C src && pyenv install $PYTHON_VERSIONS && pyenv global ${PYTHON_VERSIONS%% *} && rm -rf "$PYENV_ROOT/cache"; fi # buildkit
ENV PIPX_HOME=/opt/pipx
ENV PIPX_BIN_DIR=/opt/pipx/bin
ENV PATH=/opt/pipx/bin:/opt/pyenv/bin:/opt/pyenv/shims:/opt/mise/data/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |23 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 /bin/sh -c if [ "$INSTALL_PYTHON" = "1" ]; then apt-get update && apt-get install -y --no-install-recommends pipx && rm -rf /var/lib/apt/lists/* && pipx install --pip-args="--no-cache-dir --no-compile --root-user-action=ignore" poetry==2.1.* uv==0.7.* && for pyv in "${PYENV_ROOT}/versions/"*; do "$pyv/bin/python" -m pip install --no-cache-dir --no-compile --root-user-action=ignore --upgrade pip && "$pyv/bin/pip" install --no-cache-dir --no-compile --root-user-action=ignore ruff black mypy pyright isort pytest; done; fi # buildkit
ENV UV_NO_PROGRESS=1
ARG NVM_VERSION=v0.40.2
ARG NODE_VERSIONS=24
ARG NODE_VERSION=24
ENV NVM_DIR=/opt/nvm
ENV COREPACK_DEFAULT_TO_LATEST=0
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
ENV COREPACK_ENABLE_AUTO_PIN=0
ENV COREPACK_ENABLE_STRICT=0
RUN |26 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 /bin/sh -c if [ "$INSTALL_NODE" = "1" ]; then git -c advice.detachedHead=0 clone --branch "$NVM_VERSION" --depth 1 https://github.com/nvm-sh/nvm.git "$NVM_DIR" && printf 'prettier\neslint\ntypescript\n' > "$NVM_DIR/default-packages" && . $NVM_DIR/nvm.sh && for v in $NODE_VERSIONS; do nvm install "$v" && nvm use "$v" && if [ "${v%%.*}" = "18" ]; then npm install -g npm@10.9 pnpm@10.12; else npm install -g npm@11.4 pnpm@10.12; fi && corepack enable && corepack install -g yarn; done && nvm alias default "$NODE_VERSION" && nvm use "$NODE_VERSION" && nvm cache clear && npm cache clean --force || true && pnpm store prune || true && yarn cache clean || true; fi # buildkit
ARG BUN_VERSION=1.2.14
RUN |27 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 /bin/sh -c if [ "$INSTALL_BUN" = "1" ]; then mise use --global "bun@${BUN_VERSION}" && mise cache clear || true; fi # buildkit
ARG GRADLE_VERSION=8.14
ARG MAVEN_VERSION=3.9.10
ARG AMD_JAVA_VERSIONS=21
ARG ARM_JAVA_VERSIONS=21
RUN |31 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 /bin/sh -c if [ "$INSTALL_JAVA" = "1" ]; then JAVA_VERSIONS="$( [ "$TARGETARCH" = "arm64" ] && echo "$ARM_JAVA_VERSIONS" || echo "$AMD_JAVA_VERSIONS" )" && for v in $JAVA_VERSIONS; do mise install "java@${v}"; done && mise use --global "java@${JAVA_VERSIONS%% *}" && mise use --global "gradle@${GRADLE_VERSION}" && mise use --global "maven@${MAVEN_VERSION}" && mise cache clear || true; fi # buildkit
ARG SWIFT_VERSIONS=6.2
ENV SWIFTLY_BIN_DIR=/root/.swiftly/bin
ENV PATH=/root/.swiftly/bin:/opt/pipx/bin:/opt/pyenv/bin:/opt/pyenv/shims:/opt/mise/data/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |32 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 /bin/sh -c if [ "$INSTALL_SWIFT" = "1" ]; then apt-get update && apt-get install -y --no-install-recommends gnupg2 && rm -rf /var/lib/apt/lists/* && curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz && tar zxf swiftly-$(uname -m).tar.gz && ./swiftly init --quiet-shell-followup && for v in $SWIFT_VERSIONS; do swiftly install "$v"; done && swiftly use "${SWIFT_VERSIONS%% *}"; fi # buildkit
ARG RUST_VERSIONS=nightly
ENV CARGO_HOME=/opt/cargo
ENV RUSTUP_HOME=/opt/rustup
ENV PATH=/opt/cargo/bin:/root/.swiftly/bin:/opt/pipx/bin:/opt/pyenv/bin:/opt/pyenv/shims:/opt/mise/data/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |33 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly /bin/sh -c if [ "$INSTALL_RUST" = "1" ]; then curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain none && . "$CARGO_HOME/env" && rustup toolchain install $RUST_VERSIONS --profile minimal --component rustfmt --component clippy && rustup default ${RUST_VERSIONS%% *}; fi # buildkit
ARG GOOSE_VERSION=v1.35.0
RUN |34 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 /bin/sh -c if [ "$INSTALL_GOOSE" = "1" ]; then if [ "$INSTALL_RUST" != "1" ]; then echo "INSTALL_GOOSE=1 requires INSTALL_RUST=1" >&2; exit 1; fi && . "$CARGO_HOME/env" && git clone --depth 1 --branch "$GOOSE_VERSION" https://github.com/aaif-goose/goose.git /tmp/goose && cd /tmp/goose && goose_cargo_features="goose-cli/code-mode,goose-cli/aws-providers,goose-cli/telemetry,goose-cli/otel,goose-cli/rustls-tls,goose-cli/system-keyring,goose-server/code-mode,goose-server/aws-providers,goose-server/telemetry,goose-server/otel,goose-server/rustls-tls,goose-server/system-keyring" && CARGO_TARGET_DIR=/tmp/goose-target cargo build --locked --release -p goose-cli -p goose-server --no-default-features --features "$goose_cargo_features" && install -m 0755 /tmp/goose-target/release/goose /usr/local/bin/goose && install -m 0755 /tmp/goose-target/release/goosed /usr/local/bin/goosed && rm -rf /tmp/goose && goose --version && goosed --version; fi # buildkit
ARG RUBY_VERSIONS=3.4.4
RUN |35 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 /bin/sh -c if [ "$INSTALL_RUBY" = "1" ]; then apt-get update && apt-get install -y --no-install-recommends libyaml-dev libgmp-dev && rm -rf /var/lib/apt/lists/* && for v in $RUBY_VERSIONS; do mise install "ruby@${v}"; done && mise use --global "ruby@${RUBY_VERSIONS%% *}" && mise cache clear || true; fi # buildkit
RUN |35 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 /bin/sh -c if [ "$INSTALL_CPP_TOOLS" = "1" ]; then pipx install --pip-args="--no-cache-dir --no-compile --root-user-action=ignore" cpplint==2.0.* clang-tidy==20.1.* clang-format==20.1.* cmakelang==0.6.*; fi # buildkit
ARG BAZELISK_VERSION=v1.26.0
RUN |36 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 /bin/sh -c if [ "$INSTALL_BAZEL" = "1" ]; then curl -L --fail https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-${TARGETOS}-${TARGETARCH} -o /usr/local/bin/bazelisk && chmod +x /usr/local/bin/bazelisk && ln -s /usr/local/bin/bazelisk /usr/local/bin/bazel; fi # buildkit
ARG GO_VERSIONS=1.25.1
ARG GOLANG_CI_LINT_VERSION=2.1.6
ENV PATH=/usr/local/go/bin:/home/codex/go/bin:/opt/cargo/bin:/root/.swiftly/bin:/opt/pipx/bin:/opt/pyenv/bin:/opt/pyenv/shims:/opt/mise/data/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |38 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 GO_VERSIONS=1.25.1 GOLANG_CI_LINT_VERSION=2.1.6 /bin/sh -c if [ "$INSTALL_GO" = "1" ]; then for v in $GO_VERSIONS; do mise install "go@${v}"; done && mise use --global "go@${GO_VERSIONS%% *}" && mise use --global "golangci-lint@${GOLANG_CI_LINT_VERSION}" && mise cache clear || true; fi # buildkit
ARG PHP_VERSIONS=8.5
ENV PHPENV_ROOT=/root/.phpenv
ENV PATH=/root/.phpenv/bin:/root/.phpenv/shims:/usr/local/go/bin:/home/codex/go/bin:/opt/cargo/bin:/root/.swiftly/bin:/opt/pipx/bin:/opt/pyenv/bin:/opt/pyenv/shims:/opt/mise/data/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
RUN |39 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 GO_VERSIONS=1.25.1 GOLANG_CI_LINT_VERSION=2.1.6 PHP_VERSIONS=8.5 /bin/sh -c if [ "$INSTALL_PHP" = "1" ]; then apt-get update && apt-get install -y --no-install-recommends build-essential pkg-config ccache autoconf bison re2c libgd-dev libedit-dev libicu-dev libjpeg-dev libonig-dev libpng-dev libzip-dev libssl-dev zlib1g-dev libcurl4-openssl-dev libreadline-dev libtidy-dev libxslt1-dev && rm -rf /var/lib/apt/lists/* && git clone https://github.com/phpenv/phpenv.git /root/.phpenv && git clone https://github.com/php-build/php-build.git /root/.phpenv/plugins/php-build && bash -lc 'eval "$(phpenv init -)" && for v in $PHP_VERSIONS; do phpenv install -s "${v}snapshot"; done && phpenv rehash && phpenv global "${PHP_VERSIONS%% *}snapshot"' && rm -rf /root/.phpenv/cache && curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer; fi # buildkit
ARG ERLANG_VERSION=27.1.2
ARG ELIXIR_VERSION=1.18.3
RUN |41 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 GO_VERSIONS=1.25.1 GOLANG_CI_LINT_VERSION=2.1.6 PHP_VERSIONS=8.5 ERLANG_VERSION=27.1.2 ELIXIR_VERSION=1.18.3 /bin/sh -c if [ "$INSTALL_ELIXIR" = "1" ]; then mise install "erlang@${ERLANG_VERSION}" "elixir@${ELIXIR_VERSION}-otp-27" && mise use --global "erlang@${ERLANG_VERSION}" "elixir@${ELIXIR_VERSION}-otp-27" && mise cache clear || true; fi # buildkit
ARG INSTALL_VSCODE_CLI=1
ARG VSCODE_CLI_VERSION=latest
ARG VSCODE_CLI_QUALITY=stable
RUN |44 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 GO_VERSIONS=1.25.1 GOLANG_CI_LINT_VERSION=2.1.6 PHP_VERSIONS=8.5 ERLANG_VERSION=27.1.2 ELIXIR_VERSION=1.18.3 INSTALL_VSCODE_CLI=1 VSCODE_CLI_VERSION=latest VSCODE_CLI_QUALITY=stable /bin/sh -c if [ "$INSTALL_VSCODE_CLI" = "1" ]; then case "$TARGETARCH" in amd64) vscode_cli_arch="x64" ;; arm64) vscode_cli_arch="arm64" ;; *) echo "Unsupported TARGETARCH for VS Code CLI: $TARGETARCH" >&2; exit 1 ;; esac && curl -fsSL "https://update.code.visualstudio.com/${VSCODE_CLI_VERSION}/cli-linux-${vscode_cli_arch}/${VSCODE_CLI_QUALITY}" -o /tmp/vscode-cli.tar.gz && tar -xzf /tmp/vscode-cli.tar.gz -C /usr/local/bin code && rm -f /tmp/vscode-cli.tar.gz && chmod 0755 /usr/local/bin/code && code --version && code tunnel --help >/dev/null; fi # buildkit
COPY --chmod=0755 setup_universal.sh /opt/codex/setup_universal.sh # buildkit
RUN |44 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 GO_VERSIONS=1.25.1 GOLANG_CI_LINT_VERSION=2.1.6 PHP_VERSIONS=8.5 ERLANG_VERSION=27.1.2 ELIXIR_VERSION=1.18.3 INSTALL_VSCODE_CLI=1 VSCODE_CLI_VERSION=latest VSCODE_CLI_QUALITY=stable /bin/sh -c printf '%s\n' 'export HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew"' 'export HOMEBREW_REPOSITORY="/home/linuxbrew/.linuxbrew/Homebrew"' 'export HOMEBREW_CELLAR="/home/linuxbrew/.linuxbrew/Cellar"' 'export MISE_DATA_DIR="/opt/mise/data"' 'export MISE_CONFIG_DIR="/opt/mise/config"' 'export MISE_CACHE_DIR="/opt/mise/cache"' 'export MISE_STATE_DIR="/opt/mise/state"' 'export PYENV_ROOT="/opt/pyenv"' 'export NVM_DIR="/opt/nvm"' 'export CARGO_HOME="/opt/cargo"' 'export RUSTUP_HOME="/opt/rustup"' 'export PHPENV_ROOT="/root/.phpenv"' 'export PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/opt/mise/data/shims:/opt/pyenv/shims:/opt/pyenv/bin:/opt/pipx/bin:/opt/cargo/bin:/usr/local/go/bin:$HOME/go/bin:/root/.phpenv/bin:/root/.phpenv/shims:$PATH"' 'command -v mise >/dev/null 2>&1 && eval "$(mise activate bash)"' 'command -v pyenv >/dev/null 2>&1 && eval "$(pyenv init - bash)"' '[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"' '[ -f "$CARGO_HOME/env" ] && source "$CARGO_HOME/env"' 'command -v phpenv >/dev/null 2>&1 && eval "$(phpenv init - bash)"' > /etc/profile.d/codex-universal.sh && chmod 0644 /etc/profile.d/codex-universal.sh # buildkit
COPY --chmod=0755 verify.sh /opt/verify.sh # buildkit
RUN |44 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 GO_VERSIONS=1.25.1 GOLANG_CI_LINT_VERSION=2.1.6 PHP_VERSIONS=8.5 ERLANG_VERSION=27.1.2 ELIXIR_VERSION=1.18.3 INSTALL_VSCODE_CLI=1 VSCODE_CLI_VERSION=latest VSCODE_CLI_QUALITY=stable /bin/sh -c INSTALL_LLVM="$INSTALL_LLVM" INSTALL_PYTHON="$INSTALL_PYTHON" INSTALL_NODE="$INSTALL_NODE" INSTALL_CODEX_CLI="$INSTALL_CODEX_CLI" INSTALL_OPENCODE_CLI="$INSTALL_OPENCODE_CLI" INSTALL_FORGEJO_CLI="$INSTALL_FORGEJO_CLI" INSTALL_VSCODE_CLI="$INSTALL_VSCODE_CLI" INSTALL_GOOSE="$INSTALL_GOOSE" INSTALL_BUN="$INSTALL_BUN" INSTALL_JAVA="$INSTALL_JAVA" INSTALL_SWIFT="$INSTALL_SWIFT" INSTALL_RUST="$INSTALL_RUST" INSTALL_RUBY="$INSTALL_RUBY" INSTALL_CPP_TOOLS="$INSTALL_CPP_TOOLS" INSTALL_BAZEL="$INSTALL_BAZEL" INSTALL_GO="$INSTALL_GO" INSTALL_PHP="$INSTALL_PHP" INSTALL_ELIXIR="$INSTALL_ELIXIR" PYTHON_VERSIONS="$PYTHON_VERSIONS" NODE_VERSIONS="$NODE_VERSIONS" RUST_VERSIONS="$RUST_VERSIONS" GO_VERSIONS="$GO_VERSIONS" SWIFT_VERSIONS="$SWIFT_VERSIONS" RUBY_VERSIONS="$RUBY_VERSIONS" PHP_VERSIONS="$PHP_VERSIONS" JAVA_VERSIONS="$( [ "$TARGETARCH" = "arm64" ] && echo "$ARM_JAVA_VERSIONS" || echo "$AMD_JAVA_VERSIONS" )" "/opt/verify.sh" # buildkit
ENV HOME=/home/codex
ENV CODEX_HOME=/home/codex/.codex
ENV XDG_CONFIG_HOME=/home/codex/.config
ENV XDG_DATA_HOME=/home/codex/.local/share
ENV XDG_STATE_HOME=/home/codex/.local/state
ENV XDG_CACHE_HOME=/home/codex/.cache
RUN |44 TARGETOS=linux TARGETARCH=amd64 IMAGE_PROFILE=slim INSTALL_LLVM=1 INSTALL_PYTHON=1 INSTALL_NODE=1 INSTALL_CODEX_CLI=1 INSTALL_OPENCODE_CLI=1 INSTALL_GOOSE=1 INSTALL_FORGEJO_CLI=1 INSTALL_BUN=1 INSTALL_JAVA=0 INSTALL_SWIFT=0 INSTALL_RUST=1 INSTALL_RUBY=0 INSTALL_CPP_TOOLS=1 INSTALL_BAZEL=0 INSTALL_GO=1 INSTALL_PHP=0 INSTALL_ELIXIR=0 CODEX_UID=1000 CODEX_GID=1000 PYTHON_VERSIONS=3.14 NVM_VERSION=v0.40.2 NODE_VERSIONS=24 NODE_VERSION=24 BUN_VERSION=1.2.14 GRADLE_VERSION=8.14 MAVEN_VERSION=3.9.10 AMD_JAVA_VERSIONS=21 ARM_JAVA_VERSIONS=21 SWIFT_VERSIONS=6.2 RUST_VERSIONS=nightly GOOSE_VERSION=v1.35.0 RUBY_VERSIONS=3.4.4 BAZELISK_VERSION=v1.26.0 GO_VERSIONS=1.25.1 GOLANG_CI_LINT_VERSION=2.1.6 PHP_VERSIONS=8.5 ERLANG_VERSION=27.1.2 ELIXIR_VERSION=1.18.3 INSTALL_VSCODE_CLI=1 VSCODE_CLI_VERSION=latest VSCODE_CLI_QUALITY=stable /bin/sh -c install -d "$PYENV_ROOT" "$NVM_DIR" "$CARGO_HOME" "$RUSTUP_HOME" "$MISE_DATA_DIR" "$MISE_CONFIG_DIR" "$MISE_CACHE_DIR" "$MISE_STATE_DIR" "$PIPX_HOME" /workspace && chown -R "$CODEX_UID:$CODEX_GID" "$PYENV_ROOT" "$NVM_DIR" "$CARGO_HOME" "$RUSTUP_HOME" "$MISE_DATA_DIR" "$MISE_CONFIG_DIR" "$MISE_CACHE_DIR" "$MISE_STATE_DIR" "$PIPX_HOME" /workspace # buildkit
COPY --chmod=0755 entrypoint.sh /opt/entrypoint.sh # buildkit
USER codex
WORKDIR /workspace
ENTRYPOINT ["/opt/entrypoint.sh"]

Labels

Key Value
org.opencontainers.image.created 2026-04-21T17:23:54.324551+00:00
org.opencontainers.image.description The Ubuntu container image maintained by Canonical Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things. It is the world's most popular operating system across public clouds and OpenStack clouds. It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale. Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
org.opencontainers.image.title ubuntu
org.opencontainers.image.version 26.04
Details
Container
2026-06-05 13:19:33 +00:00
2
OCI / Docker
linux/amd64
2.5 GiB
Versions (17) View all
local-build 2026-06-05
latest 2026-06-05
buildcache 2026-06-02