Add Docker environment setup

This commit is contained in:
JayXiao
2026-03-17 14:20:26 +08:00
parent 0a3e6e19e6
commit 3b9ca418fa
3 changed files with 72 additions and 0 deletions

40
Dockerfile Normal file
View File

@@ -0,0 +1,40 @@
# =============================================================================
# GIE_Eris - Media Pipeline Development Environment
# GPU-enabled Python + Jupyter for diffusion model experimentation
# =============================================================================
FROM pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime
# Avoid interactive prompts during build
ENV DEBIAN_FRONTEND=noninteractive
# System dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
wget \
curl \
vim \
libgl1-mesa-glx \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /workspace
# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Jupyter config: no token/password for local dev
RUN mkdir -p /root/.jupyter
RUN echo "c.NotebookApp.token = ''" >> /root/.jupyter/jupyter_notebook_config.py && \
echo "c.NotebookApp.password = ''" >> /root/.jupyter/jupyter_notebook_config.py && \
echo "c.NotebookApp.allow_origin = '*'" >> /root/.jupyter/jupyter_notebook_config.py
# HuggingFace cache inside container (mapped via volume)
ENV HF_HOME=/workspace/.cache/huggingface
ENV TRANSFORMERS_CACHE=/workspace/.cache/huggingface
# Default: start Jupyter
EXPOSE 8888
CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root", "--notebook-dir=/workspace"]

21
docker-compose.yml Normal file
View File

@@ -0,0 +1,21 @@
services:
jupyter:
build: .
container_name: gie-eris-jupyter
ports:
- "${JUPYTER_PORT:-8888}:8888"
volumes:
- ./notebooks:/workspace/notebooks
- ./media-pipeline:/workspace/media-pipeline
- ./scripts:/workspace/scripts
- ${HF_CACHE_DIR:-./.cache/huggingface}:/workspace/.cache/huggingface
env_file:
- .env
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped

11
requirements.txt Normal file
View File

@@ -0,0 +1,11 @@
torch>=2.3.0
diffusers>=0.29.0
transformers>=4.41.0
accelerate>=0.31.0
safetensors>=0.4.0
peft>=0.11.0
jupyter>=1.0.0
ipywidgets>=8.1.0
matplotlib>=3.9.0
Pillow>=10.3.0