Dockerfile.ultralytics•2.8 kB
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# GPU-optimized Ultralytics Docker container for CUDA 12.9 support with RTX 5070 Ti
FROM nvidia/cuda:12.4.1-devel-ubuntu22.04
# Set environment variables
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PIP_NO_CACHE_DIR=1 \
PIP_BREAK_SYSTEM_PACKAGES=1 \
MKL_THREADING_LAYER=GNU \
OMP_NUM_THREADS=1 \
TF_CPP_MIN_LOG_LEVEL=3 \
DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3.11 python3.11-dev python3.11-distutils python3-pip \
gcc g++ git zip unzip wget curl htop libgl1 libglib2.0-0 \
libpython3-dev gnupg libsm6 libxext6 libxrender-dev \
libglib2.0-0 libgtk-3-dev libavcodec-dev libavformat-dev \
libswscale-dev libv4l-dev libxvidcore-dev libx264-dev \
libjpeg-dev libpng-dev libtiff-dev gfortran openexr \
libatlas-base-dev libtbb2 libtbb-dev libdc1394-dev \
libopenexr-dev libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev && \
rm -rf /var/lib/apt/lists/*
# Create symbolic links for python
RUN ln -sf /usr/bin/python3.11 /usr/bin/python && \
ln -sf /usr/bin/python3.11 /usr/bin/python3
# Install pip for Python 3.11
RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11
# Download fonts
ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/Arial.ttf \
https://github.com/ultralytics/assets/releases/download/v0.0.0/Arial.Unicode.ttf \
/root/.config/Ultralytics/
# Create working directory
WORKDIR /ultralytics
# Install PyTorch nightly for CUDA 12.9 (exact match for your nvidia-smi output)
RUN pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129
# Install ultralytics and dependencies directly from PyPI
RUN pip install ultralytics albumentations faster-coco-eval tensorrt wandb jupyter tensorboard pandas streamlit pillow pyyaml
# Download YOLO model
ADD https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt .
# Configure Ultralytics settings with TensorBoard enabled by default
RUN mkdir -p /root/.config/Ultralytics && \
echo '{"tensorboard": true, "wandb": false, "clearml": false, "comet": false, "dvc": false, "hub": true, "mlflow": false, "neptune": false, "raytune": false}' > /root/.config/Ultralytics/settings.json
# Copy startup script
COPY startup.sh /usr/local/bin/startup.sh
RUN chmod +x /usr/local/bin/startup.sh
# Copy main dashboard
COPY main_dashboard.py /ultralytics/
COPY pages/ /ultralytics/pages/
# Create workspace directory structure
RUN mkdir -p /workspace && \
mkdir -p /ultralytics/runs
# Expose ports
EXPOSE 8501 8888 6006
# Default command - run startup script
CMD ["/usr/local/bin/startup.sh"]