From 142e388762ed48eaf13c55ef1824588d3341c68d Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Jul 2026 10:26:37 +0000 Subject: [PATCH] Add GitLab CLI (glab) alongside gh across all image variants gh (GitHub CLI) was already installed via apt in every Dockerfile; add glab by downloading the matching-arch .deb from GitLab's releases and installing it with dpkg, following the same pattern used for the Go tarball download. Cover it in the common Makefile test target and README. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01TMSoQMixhkck22hCQJxiqU --- Makefile | 1 + README.md | 2 +- fx/Dockerfile | 5 +++++ golang/Dockerfile | 5 +++++ nodejs/Dockerfile | 5 +++++ php/Dockerfile | 5 +++++ python/Dockerfile | 5 +++++ 7 files changed, 27 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index bd21405..5bd79c2 100644 --- a/Makefile +++ b/Makefile @@ -85,6 +85,7 @@ _testcase-golang: _testcase-common: $(TEST_RUN) agent-browser --version $(TEST_RUN) gh --version + $(TEST_RUN) glab --version $(TEST_RUN) claude --version $(TEST_RUN) opencode --version $(TEST_RUN) codex --version diff --git a/README.md b/README.md index b8b812a..c207406 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ So you’re replacing the plain enterprise base with the same foundation plus ou - **Node.js** (includes **npm**) via Nodesource (**Node 22** in this image). - **Shell:** `mc`, `nano`, `tmux`. - **PHP 8.5** (Ondrej PPA): CLI + common extensions (curl, intl, mbstring, mysql, pgsql, redis, xml, zip, imagick, etc.). -- **Composer**, **GitHub CLI (`gh`)**. +- **Composer**, **GitHub CLI (`gh`)**, **GitLab CLI (`glab`)**. - **Deno** and **Bun** under `/usr/local`. `/etc/profile` sets `DENO_INSTALL`, `BUN_INSTALL`, and PATH for login shells. - **Claude** and **OpenCode** installers (best-effort copy to `/usr/local/bin` when present). - **npm globals:** `@openai/codex`, `@github/copilot`. diff --git a/fx/Dockerfile b/fx/Dockerfile index 9f8ea4c..792e935 100644 --- a/fx/Dockerfile +++ b/fx/Dockerfile @@ -4,6 +4,7 @@ ENV DENO_INSTALL=/usr/local ENV BUN_INSTALL=/usr/local ENV NODE_VERSION=22 ENV GO_VERSION=1.24.2 +ENV GLAB_VERSION=1.107.0 ENV GOROOT=/usr/local/go ENV GOPATH=/home/coder/go ENV PATH=$GOROOT/bin:$GOPATH/bin:$PATH @@ -65,6 +66,10 @@ RUN \ mkdir -p /home/coder/go && \ # COMPOSER ################################################################## curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ + # GLAB (GitLab CLI) ######################################################## + 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 && \ + dpkg -i /tmp/glab.deb && \ + rm -f /tmp/glab.deb && \ # DENO ###################################################################### curl -fsSL https://deno.land/install.sh | sh && \ # BUN ####################################################################### diff --git a/golang/Dockerfile b/golang/Dockerfile index 761805c..3827f68 100644 --- a/golang/Dockerfile +++ b/golang/Dockerfile @@ -2,6 +2,7 @@ FROM codercom/enterprise-base:ubuntu ENV NODE_VERSION=22 ENV GO_VERSION=1.24.2 +ENV GLAB_VERSION=1.107.0 ENV GOROOT=/usr/local/go ENV GOPATH=/home/coder/go ENV PATH=$GOROOT/bin:$GOPATH/bin:$PATH @@ -31,6 +32,10 @@ RUN \ libasound2t64 libx11-xcb1 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \ libxi6 libgtk-3-0t64 libcairo2 libcairo-gobject2 libgdk-pixbuf-2.0-0 \ libatk1.0-0 libxrender1 libfontconfig1 libdbus-1-3 libxcb1 libxext6 libx11-6 && \ + # GLAB (GitLab CLI) ######################################################## + 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 && \ + dpkg -i /tmp/glab.deb && \ + rm -f /tmp/glab.deb && \ # GOLANG #################################################################### ARCH=$(dpkg --print-architecture) && \ curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-${ARCH}.tar.gz" -o /tmp/go.tar.gz && \ diff --git a/nodejs/Dockerfile b/nodejs/Dockerfile index f1fefb2..61c7ed7 100644 --- a/nodejs/Dockerfile +++ b/nodejs/Dockerfile @@ -3,6 +3,7 @@ FROM codercom/enterprise-base:ubuntu ENV DENO_INSTALL=/usr/local ENV BUN_INSTALL=/usr/local ENV NODE_VERSION=22 +ENV GLAB_VERSION=1.107.0 USER root @@ -29,6 +30,10 @@ RUN \ libasound2t64 libx11-xcb1 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \ libxi6 libgtk-3-0t64 libcairo2 libcairo-gobject2 libgdk-pixbuf-2.0-0 \ libatk1.0-0 libxrender1 libfontconfig1 libdbus-1-3 libxcb1 libxext6 libx11-6 && \ + # GLAB (GitLab CLI) ######################################################## + 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 && \ + dpkg -i /tmp/glab.deb && \ + rm -f /tmp/glab.deb && \ # DENO ###################################################################### curl -fsSL https://deno.land/install.sh | sh && \ # BUN ####################################################################### diff --git a/php/Dockerfile b/php/Dockerfile index 940e8ae..b5ee77c 100644 --- a/php/Dockerfile +++ b/php/Dockerfile @@ -1,6 +1,7 @@ FROM codercom/enterprise-base:ubuntu ENV NODE_VERSION=22 +ENV GLAB_VERSION=1.107.0 USER root @@ -39,6 +40,10 @@ RUN \ echo 'variables_order = "EGPCS"' > /etc/php/8.5/cli/conf.d/99-coder.ini && \ # COMPOSER ################################################################## curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ + # GLAB (GitLab CLI) ######################################################## + 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 && \ + dpkg -i /tmp/glab.deb && \ + rm -f /tmp/glab.deb && \ # CLAUDE #################################################################### (curl -fsSL https://claude.ai/install.sh | bash || true) && \ mkdir -p /home/coder/.local/bin && \ diff --git a/python/Dockerfile b/python/Dockerfile index 21755bb..871db8f 100644 --- a/python/Dockerfile +++ b/python/Dockerfile @@ -1,6 +1,7 @@ FROM codercom/enterprise-base:ubuntu ENV NODE_VERSION=22 +ENV GLAB_VERSION=1.107.0 USER root @@ -29,6 +30,10 @@ RUN \ libasound2t64 libx11-xcb1 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \ libxi6 libgtk-3-0t64 libcairo2 libcairo-gobject2 libgdk-pixbuf-2.0-0 \ libatk1.0-0 libxrender1 libfontconfig1 libdbus-1-3 libxcb1 libxext6 libx11-6 && \ + # GLAB (GitLab CLI) ######################################################## + 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 && \ + dpkg -i /tmp/glab.deb && \ + rm -f /tmp/glab.deb && \ # CLAUDE #################################################################### (curl -fsSL https://claude.ai/install.sh | bash || true) && \ mkdir -p /home/coder/.local/bin && \