cube3d-interactive / Dockerfile
Akash Garg
dockerfile
0e09959
FROM docker.io/nvidia/cuda:12.3.2-cudnn9-devel-ubuntu22.04@sha256:fb1ad20f2552f5b3aafb2c9c478ed57da95e2bb027d15218d7a55b3a0e4b4413
RUN pyenv install 3.10 && pyenv global 3.10 && pyenv rehash
RUN --mount=target=/tmp/requirements.txt,source=requirements.txt pip install --no-cache-dir -r /tmp/requirements.txt
RUN curl https://pyenv.run | bash
RUN pip freeze > /tmp/freeze.txt
RUN apt-get update && apt-get install -y curl && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && rm -rf /var/lib/apt/lists/* && apt-get clean
RUN pip install --no-cache-dir pip -U && pip install --no-cache-dir datasets "huggingface-hub>=0.19" "hf-transfer>=0.1.4" "protobuf<4" "click<8.1" "pydantic~=1.0"
RUN apt-get update && apt-get install -y git rsync make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev git-lfs ffmpeg libsm6 libxext6 cmake libgl1-mesa-glx && rm -rf /var/lib/apt/lists/* && git lfs install
COPY --chown=1000:1000 --from=root / /
WORKDIR /home/user/app
RUN apt-get update && apt-get install -y fakeroot && mv /usr/bin/apt-get /usr/bin/.apt-get && echo '#!/usr/bin/env sh\nfakeroot /usr/bin/.apt-get $@' > /usr/bin/apt-get && chmod +x /usr/bin/apt-get && rm -rf /var/lib/apt/lists/* && useradd -m -u 1000 user
RUN pip install --no-cache-dir gradio[oauth]==5.22.0 "uvicorn>=0.14.0" spaces
COPY --link --chown=1000 ./ /home/user/app
COPY --from=pipfreeze --link --chown=1000 /tmp/freeze.txt /tmp/freeze.txt
RUN git clone https://github.com/Roblox/cube.git
WORKDIR /home/user/app/cube
RUN pip install .[meshlab]
RUN huggingface-cli download Roblox/cube3d-v0.1 --local-dir ./model_weights
WORKDIR /home/user/app