File size: 1,906 Bytes
6b03339
 
47873b7
6b03339
 
 
 
47873b7
 
6b03339
47873b7
 
 
6b03339
47873b7
 
6b03339
47873b7
95fe39f
44c42c8
 
 
95fe39f
6b03339
47873b7
44c42c8
 
6b03339
 
47873b7
 
 
44c42c8
6b03339
47873b7
 
6b03339
 
47873b7
 
 
6b03339
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
FROM python:3.10-slim

# 1. Install system dependencies
RUN apt-get update && apt-get install -y \
    build-essential git git-lfs ffmpeg libsm6 libxext6 cmake libgl1 libglib2.0-0 curl \
    && rm -rf /var/lib/apt/lists/*

# 2. CREATE A FRESH WORKDIR (This avoids the "directory not empty" error)
WORKDIR /puppeteer_root

# 3. EXACT GITHUB INSTRUCTION: Clone with recursive submodules
# We clone into the current directory (.)
RUN git clone --recursive https://github.com/Seed3D/Puppeteer.git .

# 4. VERIFY: Fail the build immediately if the script isn't there
RUN if [ ! -f "demo_rigging.sh" ]; then echo "CLONE FAILED" && exit 1; fi

# 5. EXACT GITHUB INSTRUCTION: Install Torch & Requirements
RUN pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cpu
RUN pip install -r requirements.txt
RUN pip install torch-scatter -f https://data.pyg.org/whl/torch-2.1.1+cpu.html
RUN pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py310_cpu_pyt211/download.html
RUN pip install gradio==5.23.1 tetgen mesh2sdf

# 6. WEIGHTS: Download the missing brain file
RUN mkdir -p third_partys/Michelangelo/checkpoints/aligned_shape_latents/ && \
    curl -L -o third_partys/Michelangelo/checkpoints/aligned_shape_latents/shapevae-256.ckpt \
    https://huggingface.co/ZixiangZ/Michelangelo/resolve/main/aligned_shape_latents/shapevae-256.ckpt

# 7. CPU PATCH: Change .cuda() to .to('cpu') in all files
RUN find . -type f -name "*.py" -exec sed -i 's/\.cuda()/.to("cpu")/g' {} +
RUN find . -type f -name "*.py" -exec sed -i "s/'cuda'/ 'cpu'/g" {} +
RUN chmod +x demo_rigging.sh

# 8. ENVIRONMENT
ENV PYTHONPATH="/puppeteer_root:/puppeteer_root/skeleton:/puppeteer_root/skinning"
ENV CUDA_VISIBLE_DEVICES=""

# 9. COPY YOUR APP.PY INTO THE NEW ROOT
COPY app.py /puppeteer_root/app.py

CMD ["python", "app.py"]