| FROM nvidia/cuda:12.1.1-devel-ubuntu22.04 |
|
|
| |
| ENV CUDA_HOME=/usr/local/cuda-12.1 |
| ENV LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH |
| ENV PATH=$CUDA_HOME/bin:$PATH |
|
|
| |
| ENV TORCH_CUDA_ARCH_LIST="7.0 7.5 8.0 8.6 8.9 9.0+PTX" |
|
|
| |
| |
| RUN apt-get update && \ |
| DEBIAN_FRONTEND=noninteractive apt-get install -y \ |
| build-essential wget nano curl ninja-build unzip libgl-dev ffmpeg \ |
| libgl1-mesa-glx libsm6 libxext6 && \ |
| apt-get clean && \ |
| rm -rf /var/lib/apt/lists/* |
|
|
| |
| |
| RUN useradd -m -u 1000 user |
|
|
| |
| |
| ENV CONDA_DIR=/home/user/miniconda |
| RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /home/user/miniconda.sh && \ |
| chown user:user /home/user/miniconda.sh && \ |
| /bin/bash /home/user/miniconda.sh -b -p $CONDA_DIR && \ |
| rm /home/user/miniconda.sh && \ |
| chown -R user:user $CONDA_DIR |
|
|
| |
| USER user |
| |
| |
| ENV HOME=/home/user \ |
| PATH=$CONDA_DIR/bin:$PATH \ |
| PYTHONPATH=/home/user/app \ |
| PYTHONUNBUFFERED=1 \ |
| GRADIO_ALLOW_FLAGGING=never \ |
| GRADIO_NUM_PORTS=1 \ |
| GRADIO_SERVER_NAME=0.0.0.0 \ |
| GRADIO_THEME=huggingface \ |
| SYSTEM=spaces |
|
|
| |
| WORKDIR $HOME/app |
|
|
| |
| |
| COPY --chown=user . $HOME/app/ |
|
|
| |
| RUN conda update -n base conda -y && \ |
| conda install -n base conda-libmamba-solver -y && \ |
| conda config --set solver libmamba |
|
|
| |
| RUN conda create -y -n edgs python=3.10 pip |
|
|
| |
| SHELL ["conda", "run", "-n", "edgs", "/bin/bash", "-c"] |
|
|
| |
| RUN conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y |
|
|
| |
| RUN pip install -e submodules/gaussian-splatting/submodules/diff-gaussian-rasterization --no-build-isolation && \ |
| pip install -e submodules/gaussian-splatting/submodules/simple-knn --no-build-isolation |
|
|
| |
| RUN pip install pycolmap |
|
|
| |
| RUN pip install wandb hydra-core tqdm torchmetrics lpips matplotlib rich plyfile imageio imageio-ffmpeg && \ |
| conda install numpy=1.26.4 -y -c conda-forge --override-channels |
|
|
| |
| RUN pip install -e submodules/RoMa |
|
|
| |
| RUN pip install plotly scikit-learn moviepy==2.1.1 ffmpeg && \ |
| pip install fastapi[standard] |
|
|
| |
| EXPOSE 7860 |
|
|
| CMD ["/bin/bash", "-c", "source /home/user/miniconda/bin/activate edgs && exec uvicorn main:app --host 0.0.0.0 --port 7860"] |
| |
|
|