Revert "refactor(agent-images): use explicit Debian base"

This reverts commit 51b82f80d1.
This commit is contained in:
2026-07-21 17:41:04 +00:00
committed by didericis
parent e3258d0683
commit f6ae485b68
5 changed files with 29 additions and 55 deletions
+8 -12
View File
@@ -8,15 +8,15 @@
# Layer ordering is deliberate: the npm install lives in its own layer so
# changes to the rest of the repo (or to the CMD) don't bust it.
# Debian stable is the supported userspace. The provider's Node.js runtime is
# installed explicitly below rather than inherited from a language image.
FROM debian:trixie-slim
# Current Node LTS; slim variant keeps the image small while still
# providing apt-get for any future additions.
FROM node:22-trixie-slim
# Install runtime system deps. claude-code shells out to git for several
# features (status checks, commits, PR creation) — without git in the
# image, those features fail in surprising ways once the user does any
# real work. ca-certificates is installed explicitly for TLS clients. curl is
# here so any
# real work. ca-certificates is already in the slim base; listed for
# clarity in case the base ever drops it. curl is here so any
# HTTPS_PROXY-aware tool (curl itself, plus anything that shells out
# to it) works against egress's bumped TLS without the agent needing
# local DNS.
@@ -30,13 +30,8 @@ RUN apt-get update \
ripgrep \
iproute2 \
dnsutils \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
RUN groupadd --gid 1000 node \
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
# App-specific deps. Python isn't required by claude-code itself
# (claude-code is a Node CLI), but is convenient for the agent to
# shell out to for ad-hoc scripts. Kept on its own layer so it can
@@ -57,8 +52,9 @@ RUN npm install -g --no-fund --no-audit @anthropic-ai/claude-code@2.1.172 \
# suppress bot-bottle's git-gate insteadOf rules.
RUN install -d -o node -g node -m 755 /home/node/.config /home/node/.config/git
# Run as the explicitly-created non-root user. Claude Code writes its session
# state under this user's home directory.
# Run as a non-root user. The node image already provides a `node` user
# (uid 1000) with a home directory, which is where claude-code will write
# its session state.
USER node
WORKDIR /home/node
+7 -10
View File
@@ -1,9 +1,9 @@
# bot-bottle Codex provider image.
#
# Mirrors the default Claude image shape: Debian stable, git/network tooling,
# a non-root runtime user, and the provider CLI installed for that user.
# Mirrors the default Claude image shape: Node LTS, git/network tooling,
# non-root node user, and the provider CLI installed for that user.
FROM debian:trixie-slim
FROM node:22-trixie-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
@@ -16,11 +16,8 @@ RUN apt-get update \
ripgrep \
&& rm -rf /var/lib/apt/lists/*
RUN groupadd --gid 1000 node \
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
# App-specific deps. Python isn't required by Codex itself, but is convenient
# for the agent to shell
# App-specific deps. Python isn't required by codex itself
# (codex is a Node CLI), but is convenient for the agent to shell
# out to for ad-hoc scripts. Kept on its own layer so it can be
# moved to a downstream image if the base ever needs to shrink.
RUN apt-get update \
@@ -35,8 +32,8 @@ WORKDIR /home/node
ENV PATH="/home/node/.local/bin:${PATH}"
# Remote-control support requires the standalone Codex install layout
# under ~/.codex/packages/standalone/current. Remote-control commands expect
# this installer-owned path.
# under ~/.codex/packages/standalone/current. The npm package can run
# the TUI, but remote-control commands expect this installer-owned path.
RUN mkdir -p /home/node/.codex \
&& curl -fsSL https://chatgpt.com/codex/install.sh | sh
+2 -7
View File
@@ -1,8 +1,8 @@
# bot-bottle Pi provider image.
#
# Debian stable, git/network tooling, and the Pi coding-agent CLI.
# Node LTS, git/network tooling, and the Pi coding-agent CLI installed globally.
FROM debian:trixie-slim
FROM node:22-trixie-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
@@ -13,14 +13,9 @@ RUN apt-get update \
openssh-client \
podman \
ripgrep \
nodejs \
npm \
&& ln -s /usr/bin/fdfind /usr/local/bin/fd \
&& rm -rf /var/lib/apt/lists/*
RUN groupadd --gid 1000 node \
&& useradd --uid 1000 --gid node --shell /bin/bash --create-home node
RUN apt-get update \
&& apt-get install -y --no-install-recommends python3 python3-pip python3-venv \
&& rm -rf /var/lib/apt/lists/*