41 lines
1.4 KiB
Docker
41 lines
1.4 KiB
Docker
# =============================================================================
|
|
# 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"]
|