@@ -6,6 +6,16 @@ ENV NODE_VERSION=24
66ENV GO_VERSION=1.26.5
77ENV GLAB_VERSION=1.111.0
88ENV OPENCODE_VERSION=1.18.13
9+ ENV CLAUDE_VERSION=2.1.224
10+ ENV DENO_VERSION=2.9.4
11+ ENV BUN_VERSION=1.3.14
12+ ENV COMPOSER_VERSION=2.10.2
13+ ENV CODEX_VERSION=0.147.0
14+ ENV COPILOT_VERSION=1.0.78
15+ ENV PI_VERSION=0.84.1
16+ ENV T3_VERSION=0.0.31
17+ ENV PNPM_VERSION=11.20.0
18+ ENV AGENT_BROWSER_VERSION=0.33.2
919ENV GOROOT=/usr/local/go
1020ENV GOPATH=/home/coder/go
1121ENV PATH=$GOROOT/bin:$GOPATH/bin:$PATH
4252 git jq ripgrep tmux \
4353 # Node
4454 nodejs \
45- # PHP (native Ubuntu packages; ondrej PPA has no release for this Ubuntu
46- # version and php8.5-imap no longer exists — imap was unbundled in 8.4)
55+ # PHP
4756 php8.5-cli php8.5-common php8.5-curl php8.5-gd php8.5-intl \
4857 php8.5-mailparse php8.5-mbstring php8.5-mysql php8.5-pgsql php8.5-phpdbg \
4958 php8.5-readline php8.5-redis php8.5-soap php8.5-sqlite3 php8.5-xml \
@@ -71,38 +80,37 @@ RUN \
7180 rm /tmp/go.tar.gz && \
7281 mkdir -p /home/coder/go && \
7382 # COMPOSER ##################################################################
74- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
83+ curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=${COMPOSER_VERSION} && \
7584 # GLAB (GitLab CLI) ########################################################
7685 curl -fsSL "https://gitlab.com/gitlab-org/cli/-/releases/v${GLAB_VERSION}/downloads/glab_${GLAB_VERSION}_linux_$(dpkg --print-architecture).deb" -o /tmp/glab.deb && \
7786 dpkg -i /tmp/glab.deb && \
7887 rm -f /tmp/glab.deb && \
7988 # DENO ######################################################################
80- curl -fsSL https://deno.land/install.sh | sh && \
89+ curl -fsSL https://deno.land/install.sh | sh -s v${DENO_VERSION} && \
8190 # BUN #######################################################################
82- curl -fsSL https://bun.sh/install | bash && \
91+ curl -fsSL https://bun.sh/install | bash -s "bun-v${BUN_VERSION}" && \
8392 # CLAUDE ####################################################################
8493 # Install into /usr/local/bin (image layer) so the binary survives the
8594 # persistent /home/coder volume that Coder mounts over the home dir at runtime.
86- (curl -fsSL https://claude.ai/install.sh | bash || true) && \
95+ (curl -fsSL https://claude.ai/install.sh | bash -s ${CLAUDE_VERSION} || true) && \
8796 if [ -f /root/.local/bin/claude ]; then cp /root/.local/bin/claude /usr/local/bin/claude; fi && \
8897 if [ -f /root/bin/claude ]; then cp /root/bin/claude /usr/local/bin/claude; fi && \
8998 chmod 0755 /usr/local/bin/claude && \
9099 # OPENCODE ##################################################################
91- # Pinned version: avoids the rate-limited api.github.com "latest" lookup.
92100 curl -fsSL https://opencode.ai/install | VERSION=${OPENCODE_VERSION} bash -s -- --no-modify-path && \
93101 cp /root/.opencode/bin/opencode /usr/local/bin/opencode && \
94102 chmod 0755 /usr/local/bin/opencode && \
95103 opencode --version && \
96104 # NPM: CODEX, COPILOT #######################################################
97- npm install -g @openai/codex @github/copilot && \
105+ npm install -g @openai/codex@${CODEX_VERSION} @github/copilot@${COPILOT_VERSION} && \
98106 # PI ########################################################################
99- npm install -g --ignore-scripts @earendil-works/pi-coding-agent && \
107+ npm install -g --ignore-scripts @earendil-works/pi-coding-agent@${PI_VERSION} && \
100108 # T3CODE (browser GUI for coding agents) ###################################
101- npm install -g t3 && \
109+ npm install -g t3@${T3_VERSION} && \
102110 # PNPM ######################################################################
103- npm install -g pnpm && \
111+ npm install -g pnpm@${PNPM_VERSION} && \
104112 # AGENT-BROWSER ##############################################################
105- npm install -g agent-browser && \
113+ npm install -g agent-browser@${AGENT_BROWSER_VERSION} && \
106114 runuser -u coder -- agent-browser install && \
107115 # PROFILE (DENO, BUN PATH) ##################################################
108116 echo '' >> /etc/profile && \
0 commit comments