feat(paseo)!: drop go and sdkman, rename AGENT_CLIS to AGENTS

The image installs python, gh, glab, build-essential, sudo, zsh and nano
only; go or a jvm goes into $HOME from a terminal instead.

SHELL and TZ are written into compose.yml rather than read from .env, so
the deploying shell's own values can no longer win over them.

The entrypoint calls chpasswd, chown and gosu by absolute path, tolerates
a chpasswd failure instead of taking the start down with it, turns
globbing off around the agent loop, and counts an agent as installed only
when its binary actually runs.
This commit is contained in:
tiennm99 committed 2026-09-18 11:39:09 +07:00
1 parent ac00eb9674
commit c20aed29cb
5 files changed
+115 -123

No files matched your search

+6 -20
View File
@@ -1,4 +1,4 @@
# Adds language toolchains and CLI tooling to the official image, which ships
# Adds Python, a C toolchain and CLI tooling to the official image, which ships
# none of it. Agent CLIs are not among them -- see README.md, which carries the
# reasoning for everything here.
FROM ghcr.io/getpaseo/paseo:latest
@@ -6,8 +6,8 @@ FROM ghcr.io/getpaseo/paseo:latest
# --- system packages -------------------------------------------------------
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
less nano jq unzip zip lsof psmisc ugrep bfs zsh sudo \
build-essential \
build-essential sudo \
zsh nano \
&& rm -rf /var/lib/apt/lists/* \
&& usermod -aG sudo paseo
@@ -19,14 +19,6 @@ ENV UV_INSTALL_DIR=/usr/local/bin \
RUN curl -fsSL https://astral.sh/uv/install.sh | sh \
&& uv python install "${PYTHON_VERSION}" --default
# --- go --------------------------------------------------------------------
ARG GO_VERSION=1.26.8
ENV PATH=/usr/local/go/bin:$PATH
RUN curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-$(dpkg --print-architecture).tar.gz" \
-o /tmp/go.tar.gz \
&& tar -C /usr/local -xzf /tmp/go.tar.gz \
&& rm /tmp/go.tar.gz
# --- gh and glab -----------------------------------------------------------
# gh from GitHub's signed apt repository, glab from the .deb on its releases
# page.
@@ -44,15 +36,9 @@ RUN install -d -m 0755 /etc/apt/keyrings \
&& rm -f /tmp/glab.deb \
&& rm -rf /var/lib/apt/lists/*
# --- agent cli and sdkman path ---------------------------------------------
# Puts the $HOME directories the agent installers and SDKMAN write to on PATH.
ENV SDKMAN_DIR=/home/paseo/.sdkman
ENV PATH=/home/paseo/.local/bin:/home/paseo/.opencode/bin:\
$SDKMAN_DIR/candidates/java/current/bin:\
$SDKMAN_DIR/candidates/scala/current/bin:\
$SDKMAN_DIR/candidates/gradle/current/bin:\
$SDKMAN_DIR/candidates/maven/current/bin:\
$SDKMAN_DIR/candidates/sbt/current/bin:$PATH
# --- agent cli path --------------------------------------------------------
# Puts the $HOME directories the agent installers write to on PATH.
ENV PATH=/home/paseo/.local/bin:/home/paseo/.opencode/bin:$PATH
# --- entrypoint ------------------------------------------------------------
# Wraps the image's entrypoint with the root-stage setup -- see entrypoint.sh.