Skip to content

Commit fe3ab90

Browse files
claudef3l1x
authored andcommitted
Pin all tool versions with ENV variables
Every installed tool now has an ENV *_VERSION pin: claude, deno, bun, composer, codex, copilot, pi, t3, pnpm, agent-browser. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S9abShYK5RMmbeuZurGH3b
1 parent dd13134 commit fe3ab90

5 files changed

Lines changed: 61 additions & 28 deletions

File tree

‎fx/Dockerfile‎

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ ENV NODE_VERSION=24
66
ENV GO_VERSION=1.26.5
77
ENV GLAB_VERSION=1.111.0
88
ENV 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
919
ENV GOROOT=/usr/local/go
1020
ENV GOPATH=/home/coder/go
1121
ENV 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 && \

‎golang/Dockerfile‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ ENV NODE_VERSION=24
44
ENV GO_VERSION=1.26.5
55
ENV GLAB_VERSION=1.111.0
66
ENV OPENCODE_VERSION=1.18.13
7+
ENV CLAUDE_VERSION=2.1.224
8+
ENV CODEX_VERSION=0.147.0
9+
ENV COPILOT_VERSION=1.0.78
10+
ENV PI_VERSION=0.84.1
11+
ENV AGENT_BROWSER_VERSION=0.33.2
712
ENV GOROOT=/usr/local/go
813
ENV GOPATH=/home/coder/go
914
ENV PATH=$GOROOT/bin:$GOPATH/bin:$PATH
@@ -44,7 +49,7 @@ RUN \
4449
rm /tmp/go.tar.gz && \
4550
mkdir -p /home/coder/go && \
4651
# CLAUDE ####################################################################
47-
(curl -fsSL https://claude.ai/install.sh | bash || true) && \
52+
(curl -fsSL https://claude.ai/install.sh | bash -s ${CLAUDE_VERSION} || true) && \
4853
mkdir -p /home/coder/.local/bin && \
4954
if [ -f /root/.local/bin/claude ]; then cp /root/.local/bin/claude /home/coder/.local/bin/claude; fi && \
5055
if [ -f /root/bin/claude ]; then cp /root/bin/claude /home/coder/.local/bin/claude; fi && \
@@ -58,11 +63,11 @@ RUN \
5863
ln -sf /home/coder/.opencode/bin/opencode /usr/local/bin/opencode && \
5964
opencode --version && \
6065
# NPM: CODEX, COPILOT #######################################################
61-
npm install -g @openai/codex @github/copilot && \
66+
npm install -g @openai/codex@${CODEX_VERSION} @github/copilot@${COPILOT_VERSION} && \
6267
# PI ########################################################################
63-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent && \
68+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@${PI_VERSION} && \
6469
# AGENT-BROWSER ##############################################################
65-
npm install -g agent-browser && \
70+
npm install -g agent-browser@${AGENT_BROWSER_VERSION} && \
6671
runuser -u coder -- agent-browser install && \
6772
# PROFILE ##################################################################
6873
echo '' >> /etc/profile && \

‎nodejs/Dockerfile‎

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ ENV BUN_INSTALL=/usr/local
55
ENV NODE_VERSION=24
66
ENV GLAB_VERSION=1.111.0
77
ENV OPENCODE_VERSION=1.18.13
8+
ENV CLAUDE_VERSION=2.1.224
9+
ENV DENO_VERSION=2.9.4
10+
ENV BUN_VERSION=1.3.14
11+
ENV CODEX_VERSION=0.147.0
12+
ENV COPILOT_VERSION=1.0.78
13+
ENV PI_VERSION=0.84.1
14+
ENV AGENT_BROWSER_VERSION=0.33.2
815

916
USER root
1017

@@ -36,11 +43,11 @@ RUN \
3643
dpkg -i /tmp/glab.deb && \
3744
rm -f /tmp/glab.deb && \
3845
# DENO ######################################################################
39-
curl -fsSL https://deno.land/install.sh | sh && \
46+
curl -fsSL https://deno.land/install.sh | sh -s v${DENO_VERSION} && \
4047
# BUN #######################################################################
41-
curl -fsSL https://bun.sh/install | bash && \
48+
curl -fsSL https://bun.sh/install | bash -s "bun-v${BUN_VERSION}" && \
4249
# CLAUDE ####################################################################
43-
(curl -fsSL https://claude.ai/install.sh | bash || true) && \
50+
(curl -fsSL https://claude.ai/install.sh | bash -s ${CLAUDE_VERSION} || true) && \
4451
mkdir -p /home/coder/.local/bin && \
4552
if [ -f /root/.local/bin/claude ]; then cp /root/.local/bin/claude /home/coder/.local/bin/claude; fi && \
4653
if [ -f /root/bin/claude ]; then cp /root/bin/claude /home/coder/.local/bin/claude; fi && \
@@ -54,11 +61,11 @@ RUN \
5461
ln -sf /home/coder/.opencode/bin/opencode /usr/local/bin/opencode && \
5562
opencode --version && \
5663
# NPM: CODEX, COPILOT #######################################################
57-
npm install -g @openai/codex @github/copilot && \
64+
npm install -g @openai/codex@${CODEX_VERSION} @github/copilot@${COPILOT_VERSION} && \
5865
# PI ########################################################################
59-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent && \
66+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@${PI_VERSION} && \
6067
# AGENT-BROWSER ##############################################################
61-
npm install -g agent-browser && \
68+
npm install -g agent-browser@${AGENT_BROWSER_VERSION} && \
6269
runuser -u coder -- agent-browser install && \
6370
# PROFILE ##################################################################
6471
echo '' >> /etc/profile && \

‎php/Dockerfile‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@ FROM codercom/enterprise-base:ubuntu
33
ENV NODE_VERSION=24
44
ENV GLAB_VERSION=1.111.0
55
ENV OPENCODE_VERSION=1.18.13
6+
ENV CLAUDE_VERSION=2.1.224
7+
ENV COMPOSER_VERSION=2.10.2
8+
ENV CODEX_VERSION=0.147.0
9+
ENV COPILOT_VERSION=1.0.78
10+
ENV PI_VERSION=0.84.1
11+
ENV AGENT_BROWSER_VERSION=0.33.2
612

713
USER root
814

@@ -41,13 +47,13 @@ RUN \
4147
libatk1.0-0 libxrender1 libfontconfig1 libdbus-1-3 libxcb1 libxext6 libx11-6 && \
4248
echo 'variables_order = "EGPCS"' > /etc/php/8.5/cli/conf.d/99-coder.ini && \
4349
# COMPOSER ##################################################################
44-
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
50+
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=${COMPOSER_VERSION} && \
4551
# GLAB (GitLab CLI) ########################################################
4652
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 && \
4753
dpkg -i /tmp/glab.deb && \
4854
rm -f /tmp/glab.deb && \
4955
# CLAUDE ####################################################################
50-
(curl -fsSL https://claude.ai/install.sh | bash || true) && \
56+
(curl -fsSL https://claude.ai/install.sh | bash -s ${CLAUDE_VERSION} || true) && \
5157
mkdir -p /home/coder/.local/bin && \
5258
if [ -f /root/.local/bin/claude ]; then cp /root/.local/bin/claude /home/coder/.local/bin/claude; fi && \
5359
if [ -f /root/bin/claude ]; then cp /root/bin/claude /home/coder/.local/bin/claude; fi && \
@@ -61,11 +67,11 @@ RUN \
6167
ln -sf /home/coder/.opencode/bin/opencode /usr/local/bin/opencode && \
6268
opencode --version && \
6369
# NPM: CODEX, COPILOT #######################################################
64-
npm install -g @openai/codex @github/copilot && \
70+
npm install -g @openai/codex@${CODEX_VERSION} @github/copilot@${COPILOT_VERSION} && \
6571
# PI ########################################################################
66-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent && \
72+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@${PI_VERSION} && \
6773
# AGENT-BROWSER ##############################################################
68-
npm install -g agent-browser && \
74+
npm install -g agent-browser@${AGENT_BROWSER_VERSION} && \
6975
runuser -u coder -- agent-browser install && \
7076
# OWNERSHIP ################################################################
7177
chown -R coder:coder /home/coder/.local /home/coder/.opencode && \

‎python/Dockerfile‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ FROM codercom/enterprise-base:ubuntu
33
ENV NODE_VERSION=24
44
ENV GLAB_VERSION=1.111.0
55
ENV OPENCODE_VERSION=1.18.13
6+
ENV CLAUDE_VERSION=2.1.224
7+
ENV CODEX_VERSION=0.147.0
8+
ENV COPILOT_VERSION=1.0.78
9+
ENV PI_VERSION=0.84.1
10+
ENV AGENT_BROWSER_VERSION=0.33.2
611

712
USER root
813

@@ -36,7 +41,7 @@ RUN \
3641
dpkg -i /tmp/glab.deb && \
3742
rm -f /tmp/glab.deb && \
3843
# CLAUDE ####################################################################
39-
(curl -fsSL https://claude.ai/install.sh | bash || true) && \
44+
(curl -fsSL https://claude.ai/install.sh | bash -s ${CLAUDE_VERSION} || true) && \
4045
mkdir -p /home/coder/.local/bin && \
4146
if [ -f /root/.local/bin/claude ]; then cp /root/.local/bin/claude /home/coder/.local/bin/claude; fi && \
4247
if [ -f /root/bin/claude ]; then cp /root/bin/claude /home/coder/.local/bin/claude; fi && \
@@ -50,11 +55,11 @@ RUN \
5055
ln -sf /home/coder/.opencode/bin/opencode /usr/local/bin/opencode && \
5156
opencode --version && \
5257
# NPM: CODEX, COPILOT #######################################################
53-
npm install -g @openai/codex @github/copilot && \
58+
npm install -g @openai/codex@${CODEX_VERSION} @github/copilot@${COPILOT_VERSION} && \
5459
# PI ########################################################################
55-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent && \
60+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@${PI_VERSION} && \
5661
# AGENT-BROWSER ##############################################################
57-
npm install -g agent-browser && \
62+
npm install -g agent-browser@${AGENT_BROWSER_VERSION} && \
5863
runuser -u coder -- agent-browser install && \
5964
# OWNERSHIP ################################################################
6065
chown -R coder:coder /home/coder/.local /home/coder/.opencode && \

0 commit comments

Comments
 (0)