Files
tabbyAPI/docker/Dockerfile.cu13

50 lines
1.3 KiB
Docker

# Use an official CUDA 13 runtime with Ubuntu as a parent image
FROM nvidia/cuda:13.2.1-runtime-ubuntu24.04
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
curl \
ca-certificates \
python3.12 \
python3-pip \
python3.12-venv \
&& rm -rf /var/lib/apt/lists/*
# Create a virtual environment
RUN python3 -m venv /opt/venv
# Activate the venv and set the PATH
ENV PATH="/opt/venv/bin:$PATH"
# Upgrade pip
RUN pip install --no-cache-dir --upgrade pip
# Set the working directory in the container
WORKDIR /app
# Get requirements
COPY pyproject.toml .
# Install cu13 group first. This uses torch 2.11.0+cu130 with exllamav3 cu132
# wheels, flash_attn+cu130, and intentionally does not install exllamav2.
# The 'extras' group (infinity-emb, sentence-transformers) is installed separately
# with --no-deps so pip cannot resolve xformers transitively and pull incompatible
# CUDA wheels.
RUN pip install --no-cache-dir .[cu13]
RUN pip install --no-cache-dir --no-deps .[extras]
RUN rm pyproject.toml
# Copy the current directory contents into the container
COPY . .
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Set the entry point
ENTRYPOINT ["python3"]
# Run main.py when the container launches
CMD ["main.py", "--host", "0.0.0.0"]