@@ -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
@@ -70,19 +80,19 @@ RUN \
7080 rm /tmp/go.tar.gz && \
7181 mkdir -p /home/coder/go && \
7282 # COMPOSER ##################################################################
73- 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} && \
7484 # GLAB (GitLab CLI) ########################################################
7585 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 && \
7686 dpkg -i /tmp/glab.deb && \
7787 rm -f /tmp/glab.deb && \
7888 # DENO ######################################################################
79- curl -fsSL https://deno.land/install.sh | sh && \
89+ curl -fsSL https://deno.land/install.sh | sh -s v${DENO_VERSION} && \
8090 # BUN #######################################################################
81- curl -fsSL https://bun.sh/install | bash && \
91+ curl -fsSL https://bun.sh/install | bash -s "bun-v${BUN_VERSION}" && \
8292 # CLAUDE ####################################################################
8393 # Install into /usr/local/bin (image layer) so the binary survives the
8494 # persistent /home/coder volume that Coder mounts over the home dir at runtime.
85- (curl -fsSL https://claude.ai/install.sh | bash || true) && \
95+ (curl -fsSL https://claude.ai/install.sh | bash -s ${CLAUDE_VERSION} || true) && \
8696 if [ -f /root/.local/bin/claude ]; then cp /root/.local/bin/claude /usr/local/bin/claude; fi && \
8797 if [ -f /root/bin/claude ]; then cp /root/bin/claude /usr/local/bin/claude; fi && \
8898 chmod 0755 /usr/local/bin/claude && \
@@ -92,15 +102,15 @@ RUN \
92102 chmod 0755 /usr/local/bin/opencode && \
93103 opencode --version && \
94104 # NPM: CODEX, COPILOT #######################################################
95- npm install -g @openai/codex @github/copilot && \
105+ npm install -g @openai/codex@${CODEX_VERSION} @github/copilot@${COPILOT_VERSION} && \
96106 # PI ########################################################################
97- npm install -g --ignore-scripts @earendil-works/pi-coding-agent && \
107+ npm install -g --ignore-scripts @earendil-works/pi-coding-agent@${PI_VERSION} && \
98108 # T3CODE (browser GUI for coding agents) ###################################
99- npm install -g t3 && \
109+ npm install -g t3@${T3_VERSION} && \
100110 # PNPM ######################################################################
101- npm install -g pnpm && \
111+ npm install -g pnpm@${PNPM_VERSION} && \
102112 # AGENT-BROWSER ##############################################################
103- npm install -g agent-browser && \
113+ npm install -g agent-browser@${AGENT_BROWSER_VERSION} && \
104114 runuser -u coder -- agent-browser install && \
105115 # PROFILE (DENO, BUN PATH) ##################################################
106116 echo '' >> /etc/profile && \
0 commit comments