FROM ubuntu:latest AS base # 1. Combine updates and system-level tools to save space RUN apt-get update && apt-get install -y --no-install-recommends \ curl jq git sudo vim wget unzip locales \ build-essential libgmp-dev libffi-dev libnuma-dev zlib1g-dev libtinfo-dev \ python3 python3-venv python3-tk python-is-python3 \ default-jdk \ && rm -rf /var/lib/apt/lists/* # 2. Setup Locales RUN locale-gen en_US.UTF-8 ENV LANG=en_US.utf8 # 3. Copy Gradle (This is fine as is) COPY --from=gradle:latest /opt/gradle /opt/gradle ENV GRADLE_HOME=/opt/gradle ENV PATH="${GRADLE_HOME}/bin:${PATH}" # 4. Define the user ARG USER=lth-student RUN useradd --groups sudo --no-create-home --shell /bin/bash ${USER} \ && echo "${USER} ALL=(ALL) NOPASSWD:ALL" >/etc/sudoers.d/${USER} \ && chmod 0440 /etc/sudoers.d/${USER} USER ${USER} WORKDIR /home/${USER} # Add local bin paths to PATH now so they work once installed in Home ENV PATH="/home/${USER}/.ghcup/bin:/home/${USER}/.local/bin:${PATH}"