Spaces:
Sleeping
Sleeping
File size: 3,662 Bytes
cf9b4e9 d68716b 120157e 7225d57 35d006b 120157e b969482 120157e 35d006b a0a7e6d 35d006b 120157e e8902d1 33d82e4 120157e 530ee70 ff0f254 cf9b4e9 ab69560 f5e71b0 120157e 35d006b 120157e 35d006b 120157e 35d006b 120157e 35d006b 120157e 35d006b 120157e 35d006b 120157e d68716b 120157e 35d006b 120157e d68716b 120157e 35d006b cd330c5 d1d6c5c cd330c5 35d006b d68716b 4d805c9 d68716b 895334a d68716b 120157e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | FROM nvidia/cuda:13.0.2-cudnn-devel-ubuntu22.04
SHELL ["/bin/bash", "-exo", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive \
TZ=Europe/Paris
# Remove any third-party apt sources to avoid issues with expiring keys.
# Install some basic utilities
RUN rm -f /etc/apt/sources.list.d/*.list && \
apt-get update && apt-get install -y --no-install-recommends \
curl \
ca-certificates \
sudo \
git \
wget \
procps \
git-lfs \
zip \
unzip \
htop \
vim \
nano \
bzip2 \
libx11-6 \
build-essential \
libsndfile-dev \
openssh-client \
software-properties-common \
&& rm -rf /var/lib/apt/lists/*
#RUN add-apt-repository ppa:flexiondotorg/nvtop && \
# apt-get upgrade -y && \
#RUN apt-get install -y --no-install-recommends nvtop
RUN apt-get -y install git-lfs
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
RUN apt-get install -y nodejs
#RUN apt-get install -y npm
RUN npm install -g configurable-http-proxy && npm install -g @openai/codex
# Create a working directory
WORKDIR /app
# Create a non-root user and switch to it
RUN adduser --disabled-password --gecos '' --shell /bin/bash user \
&& chown -R user:user /app
RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
USER user
# All users can use /home/user as their home directory
ENV HOME=/home/user
RUN mkdir $HOME/.cache $HOME/.config \
&& chmod -R 777 $HOME
# Set up the Conda environment
ENV CONDA_AUTO_UPDATE_CONDA=false \
PATH=$HOME/miniconda/bin:$PATH
RUN curl -sLo ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
&& chmod +x ~/miniconda.sh \
&& ~/miniconda.sh -b -p ~/miniconda \
&& rm ~/miniconda.sh \
&& conda clean -ya
WORKDIR $HOME/app
#######################################
# Start root user section
#######################################
USER root
# User Debian packages
## Security warning : Potential user code executed as root (build time)
RUN --mount=target=/root/packages.txt,source=packages.txt \
apt-get update && \
xargs -r -a /root/packages.txt apt-get install -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \
bash /root/on_startup.sh
RUN mkdir /data && chown user:user /data
WORKDIR /data
#######################################
# End root user section
#######################################
USER user
# Python packages
RUN --mount=target=requirements.txt,source=requirements.txt \
pip install --no-cache-dir --upgrade -r requirements.txt
# Copy the current directory contents into the container at $HOME/app setting the owner to the user
#COPY --chown=user . $HOME/app
COPY --chown=user . /data
RUN chmod +x start_server.sh
COPY --chown=user login.html /home/user/miniconda/lib/python3.9/site-packages/jupyter_server/templates/login.html
ENV PYTHONUNBUFFERED=1 \
GRADIO_ALLOW_FLAGGING=never \
GRADIO_NUM_PORTS=1 \
GRADIO_SERVER_NAME=0.0.0.0 \
GRADIO_THEME=huggingface \
SYSTEM=spaces \
SHELL=/bin/bash
#RUN git clone --recurse-submodules https://github.com/itbench-hub/ITBench-SRE-Agent.git
#RUN git clone --recursive https://github.com/itbench-hub/ITBench-Lite.git
RUN git clone https://github.com/itbench-hub/ITBench-SRE-Agent.git
RUN curl -LsSf https://astral.sh/uv/install.sh | /bin/bash
RUN . $HOME/.local/bin/env
WORKDIR /data/ITBench-SRE-Agent
RUN /home/user/.local/bin/uv python pin 3.13
RUN /home/user/.local/bin/uv sync && \
/home/user/.local/bin/uv pip install ipykernel && \
/data/ITBench-SRE-Agent/.venv/bin/python -m ipykernel install --user --display-name "SRE"
WORKDIR /data
CMD ["./start_server.sh"]
|