# 使用 NVIDIA CUDA 官方基礎映像檔 (包含 cudnn) FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04 # 設定環境變數避免互動式安裝卡住 ENV DEBIAN_FRONTEND=noninteractive ENV PYTHONUNBUFFERED=1 # 安裝系統必要套件 (包含 ffmpeg) RUN apt-get update && apt-get install -y \ python3.10 python3-pip python3.10-venv \ ffmpeg \ wget xz-utils \ libgl1 libglib2.0-0 \ libx11-dev libxi-dev libxxf86vm-dev libxrender-dev \ && rm -rf /var/lib/apt/lists/* # 建立 python 指向 python3.10 的軟連結 RUN ln -s /usr/bin/python3.10 /usr/bin/python # 設定工作目錄 WORKDIR /app # 下載並安裝 Linux 版 Blender 3.6.0 RUN wget https://download.blender.org/release/Blender3.6/blender-3.6.0-linux-x64.tar.xz \ && tar -xf blender-3.6.0-linux-x64.tar.xz \ && rm blender-3.6.0-linux-x64.tar.xz \ && mv blender-3.6.0-linux-x64 blender # 複製前處理專用依賴並安裝 COPY requirements-preprocess.txt /app/ RUN pip3 install --no-cache-dir -r requirements-preprocess.txt # 複製專案原始碼 (champ-master 內的檔案) COPY . /app/ # 設定預設指令 (僅供測試前處理使用,組員可以覆寫此指令來啟動 Gradio) CMD ["python", "process_single_video.py"]