Remove uneeded tools

This commit is contained in:
Alex Selimov 2026-05-26 10:42:24 -04:00
parent 411be9ab83
commit 8bd65f7313

View file

@ -61,12 +61,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& ln -sf /usr/bin/python3 /usr/bin/python \ && ln -sf /usr/bin/python3 /usr/bin/python \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Poetry (official installer avoids PyPI timeout issues)
ENV POETRY_HOME="/opt/poetry"
ENV PATH="${POETRY_HOME}/bin:${PATH}"
RUN curl -sSL https://install.python-poetry.org | python3 - && \
poetry config virtualenvs.in-project true
# uv (fast Python package/project manager from Astral) # uv (fast Python package/project manager from Astral)
RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh
@ -79,57 +73,18 @@ RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash - && \
apt-get install -y --no-install-recommends nodejs && \ apt-get install -y --no-install-recommends nodejs && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Java 17 (Eclipse Temurin)
RUN curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /usr/share/keyrings/adoptium.gpg && \
echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main" > /etc/apt/sources.list.d/adoptium.list && \
apt-get update && apt-get install -y --no-install-recommends temurin-${JAVA_VERSION}-jdk && \
rm -rf /var/lib/apt/lists/*
# Gradle
RUN curl -fsSL https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -o /tmp/gradle.zip && \
unzip -d /opt /tmp/gradle.zip && \
ln -s /opt/gradle-${GRADLE_VERSION}/bin/gradle /usr/local/bin/gradle && \
rm /tmp/gradle.zip
# Go
RUN ARCH=$(dpkg --print-architecture) && \
curl -fsSL https://go.dev/dl/go${GO_VERSION}.linux-${ARCH}.tar.gz | tar -C /usr/local -xz
ENV PATH="/usr/local/go/bin:/root/go/bin:${PATH}"
# Docker CLI (client only, expects host docker socket mount) # Docker CLI (client only, expects host docker socket mount)
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg && \ RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list && \ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list && \
apt-get update && apt-get install -y --no-install-recommends docker-ce-cli && \ apt-get update && apt-get install -y --no-install-recommends docker-ce-cli && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# kubectl
RUN ARCH=$(dpkg --print-architecture) && \
curl -fsSL https://dl.k8s.io/release/$(curl -sL https://dl.k8s.io/release/stable.txt)/bin/linux/${ARCH}/kubectl -o /usr/local/bin/kubectl && \
chmod +x /usr/local/bin/kubectl
# yq (mikefarah) # yq (mikefarah)
ARG YQ_VERSION=v4.44.3 ARG YQ_VERSION=v4.44.3
RUN ARCH=$(dpkg --print-architecture) && \ RUN ARCH=$(dpkg --print-architecture) && \
curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_${ARCH}" -o /usr/local/bin/yq && \ curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_${ARCH}" -o /usr/local/bin/yq && \
chmod +x /usr/local/bin/yq chmod +x /usr/local/bin/yq
# Helm
RUN curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# AWS CLI v2
RUN ARCH=$(uname -m) && \
curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-${ARCH}.zip" -o /tmp/awscli.zip && \
unzip -q /tmp/awscli.zip -d /tmp && \
/tmp/aws/install && \
rm -rf /tmp/aws /tmp/awscli.zip
# Terraform
RUN ARCH=$(dpkg --print-architecture) && \
curl -fsSL "https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_${ARCH}.zip" -o /tmp/terraform.zip && \
unzip /tmp/terraform.zip -d /usr/local/bin && \
rm /tmp/terraform.zip
# Zig # Zig
RUN ARCH=$(uname -m) && \ RUN ARCH=$(uname -m) && \
case "$ARCH" in \ case "$ARCH" in \
@ -143,14 +98,6 @@ RUN ARCH=$(uname -m) && \
ln -s "/opt/zig-${ZIG_VERSION}/zig" /usr/local/bin/zig && \ ln -s "/opt/zig-${ZIG_VERSION}/zig" /usr/local/bin/zig && \
rm /tmp/zig.tar.xz rm /tmp/zig.tar.xz
# Atlassian CLI (acli)
RUN mkdir -p -m 755 /etc/apt/keyrings && \
wget -nv -O- https://acli.atlassian.com/gpg/public-key.asc | gpg --dearmor -o /etc/apt/keyrings/acli-archive-keyring.gpg && \
chmod go+r /etc/apt/keyrings/acli-archive-keyring.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/acli-archive-keyring.gpg] https://acli.atlassian.com/linux/deb stable main" > /etc/apt/sources.list.d/acli.list && \
apt-get update && apt-get install -y acli && \
rm -rf /var/lib/apt/lists/*
# GitHub CLI (gh) # GitHub CLI (gh)
RUN mkdir -p -m 755 /etc/apt/keyrings && \ RUN mkdir -p -m 755 /etc/apt/keyrings && \
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \
@ -179,12 +126,6 @@ RUN git clone https://forge.alexselimov.com/aselimov/SelimovDE.git /root/Selimov
git submodule update && \ git submodule update && \
./deploy.sh ./deploy.sh
# AWS config (optional, only applied if aws-config exists in build context)
COPY Dockerfile aws-config* /tmp/build-context/
RUN if [ -f /tmp/build-context/aws-config ]; then \
mkdir -p /root/.aws && mv /tmp/build-context/aws-config /root/.aws/config; \
fi && rm -rf /tmp/build-context
# Global gitignore: lives on the host at ~/repos/dev_sandbox/.gitignore_global # Global gitignore: lives on the host at ~/repos/dev_sandbox/.gitignore_global
# (bind-mounted to /workspace/dev_sandbox/.gitignore_global). Symlinked into # (bind-mounted to /workspace/dev_sandbox/.gitignore_global). Symlinked into
# place by entrypoint.sh so host edits take effect without a rebuild. # place by entrypoint.sh so host edits take effect without a rebuild.