FROM rockylinux:9 # Update system RUN dnf update -y # Enable CRB (needed by some EPEL packages) and install EPEL RUN dnf install -y epel-release && \ dnf config-manager --set-enabled crb && \ dnf install -y --setopt=install_weak_deps=False \ ccache # Install required packages + some common tools for a bit of command line comfort RUN dnf install -y --allowerasing bash-completion vim git curl wget which tree htop \ gcc gcc-c++ git autoconf automake bison make zip cmake python3 python3-pip \ bzip2 patch mesa-libGL-devel libffi-devel fontconfig-devel \ sqlite-devel bzip2-devel zlib-devel openssl-devel xz-devel \ readline-devel ncurses-devel libffi-devel libuuid-devel git-lfs \ findutils xz byacc ccache # Clean the caches RUN dnf clean all && \ rm -rf /var/cache/dnf # Configure ccache ENV CCACHE_DIR=/ccache ENV PATH="/usr/lib/ccache:$PATH" # Optional: Set a reasonable cache size limit (adjust as needed) RUN ccache -M 5G # e.g. 5 GB max # Setup uv COPY --from=ghcr.io/astral-sh/uv:0.11.27 /uv /uvx /bin/ # Install Python RUN uv python install # Prevent dubious ownership error RUN git config --global --add safe.directory '*' CMD ["sleep", "infinity"]