puppeteeadadada / Dockerfile
dashdoas's picture
Update Dockerfile
b9ae19b verified
Raw
History Blame Contribute Delete
1.77 kB
# Use 3.10 for 3D lib compatibility
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 \
rsync \
libgl1 \
libglib2.0-0 \
curl \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/* \
&& git lfs install
# 2. Setup folder structure (Matches the exact error log paths)
RUN mkdir -p /app/results /app/temp_input /app/skeleton /app/skinning \
/app/third_partys/Michelangelo/checkpoints/aligned_shape_latents/
# 3. DOWNLOAD MISSING WEIGHTS
RUN curl -L -o /app/third_partys/Michelangelo/checkpoints/aligned_shape_latents/shapevae-256.ckpt \
https://huggingface.co/ZixiangZ/Michelangelo/resolve/main/aligned_shape_latents/shapevae-256.ckpt
WORKDIR /app
# 4. PATH FIXES
# We add /app/skeleton to the path so that 'third_partys' is discoverable
# even if the script is running from inside 'skinning'
ENV PYTHONPATH="${PYTHONPATH}:/app:/app/skeleton:/app/skinning"
ENV CUDA_VISIBLE_DEVICES=""
# 5. Upgrade pip and install heavy libs
RUN pip install --no-cache-dir pip -U
RUN pip install --no-cache-dir tetgen mesh2sdf
# 6. Install requirements
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt \
gradio[oauth]==5.23.1 \
uvicorn>=0.14.0 \
websockets>=10.4 \
spaces
# 7. Copy files and set permissions
COPY . .
# Extra fix: Ensure the third_partys folder is where the code expects it
RUN if [ -d "/app/skeleton/third_partys" ] && [ ! -d "/app/third_partys" ]; then ln -s /app/skeleton/third_partys /app/third_partys; fi
RUN chmod +x demo_rigging.sh
CMD ["python", "app.py"]