CoolFace
Apppublic

jingjiang233/Scientific-Computing-and-Machine-Learning

sourceHugging Facemitupdated 5mo agoView on Hugging Face
0likes
Dockerfile96 linesDownload Raw Back to root
1FROM nvidia/cuda:12.5.1-cudnn-devel-ubuntu20.042 3ENV DEBIAN_FRONTEND=noninteractive \4    TZ=Europe/Paris \5    CONDA_AUTO_UPDATE_CONDA=false \6    HOME=/home/user \7    PATH=/home/user/miniconda/bin:$PATH \8    PYTHONUNBUFFERED=1 \9    GRADIO_ALLOW_FLAGGING=never \10    GRADIO_NUM_PORTS=1 \11    GRADIO_SERVER_NAME=0.0.0.0 \12    GRADIO_THEME=huggingface \13    SYSTEM=spaces \14    SHELL=/bin/bash15 16# Base utilities17RUN rm -f /etc/apt/sources.list.d/*.list && \18    apt-get update && apt-get install -y --no-install-recommends \19    curl \20    ca-certificates \21    sudo \22    git \23    wget \24    procps \25    git-lfs \26    zip \27    unzip \28    htop \29    vim \30    nano \31    bzip2 \32    libx11-6 \33    build-essential \34    libsndfile-dev \35    software-properties-common \36 && rm -rf /var/lib/apt/lists/*37 38# nvtop39RUN add-apt-repository ppa:flexiondotorg/nvtop && \40    apt-get update && \41    apt-get install -y --no-install-recommends nvtop && \42    rm -rf /var/lib/apt/lists/*43 44# Node.js 2145RUN curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && \46    apt-get update && \47    apt-get install -y nodejs && \48    npm install -g configurable-http-proxy && \49    rm -rf /var/lib/apt/lists/*50 51# Working directory52WORKDIR /app53 54# User setup55RUN adduser --disabled-password --gecos '' --shell /bin/bash user && \56    mkdir -p /home/user/.cache /home/user/.config /home/user/app && \57    chown -R user:user /home/user /app && \58    echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user59 60# Miniconda Python 3.1061USER user62RUN curl -fsSL -o /home/user/miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-x86_64.sh && \63    bash /home/user/miniconda.sh -b -p /home/user/miniconda && \64    rm -f /home/user/miniconda.sh && \65    conda clean -ya66 67WORKDIR /home/user/app68 69# Back to root for system packages / startup70USER root71 72RUN --mount=target=/root/packages.txt,source=packages.txt \73    apt-get update && \74    xargs -r -a /root/packages.txt apt-get install -y --no-install-recommends && \75    rm -rf /var/lib/apt/lists/*76 77RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \78    bash /root/on_startup.sh79 80RUN mkdir -p /data && chown user:user /data81 82# Python packages83USER user84RUN --mount=target=requirements.txt,source=requirements.txt \85    pip install --no-cache-dir --upgrade -r requirements.txt86 87# App files88COPY --chown=user:user . /home/user/app89 90RUN chmod +x /home/user/app/start_server.sh91 92# Jupyter template path for Python 3.1093COPY --chown=user:user login.html /home/user/miniconda/lib/python3.10/site-packages/jupyter_server/templates/login.html94 95CMD ["./start_server.sh"]96