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