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 && \