moshi_general / Dockerfile
tezuesh's picture
Update Dockerfile
3a00ea9 verified
FROM nvidia/cuda:12.3.2-cudnn9-devel-ubuntu22.04
# Set environment variables
ENV PYTHONUNBUFFERED=1 \
DEBIAN_FRONTEND=noninteractive \
CUDA_HOME=/usr/local/cuda \
PATH=/usr/local/cuda/bin:$PATH \
LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH \
NVIDIA_VISIBLE_DEVICES=all \
NVIDIA_DRIVER_CAPABILITIES=compute,utility
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-pip \
python3-dev \
build-essential \
ffmpeg \
libsndfile1 \
curl \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user
# In your Dockerfile:
RUN useradd -m -s /bin/bash appuser && \
mkdir -p /home/appuser/.cache/torch && \
mkdir -p /home/appuser/.triton && \
chown -R appuser:appuser /home/appuser && \
chmod 755 /home/appuser/.triton
# Add these ENV variables
ENV TRITON_CACHE_DIR=/home/appuser/.triton \
TORCH_INDUCTOR_CACHE_DIR=/home/appuser/.triton
# Set cache directories environment variables
ENV TORCH_HOME=/home/appuser/.cache/torch \
TRITON_CACHE_DIR=/home/appuser/.triton
# Upgrade pip and install build tools
RUN python3 -m pip install --upgrade pip setuptools wheel
WORKDIR /app
RUN chown appuser:appuser /app
COPY --chown=appuser:appuser requirements.txt .
# Install PyTorch with CUDA support
RUN pip3 install --no-cache-dir torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu121
# Install other requirements
RUN pip3 install --no-cache-dir -r requirements.txt
COPY --chown=appuser:appuser . .
# Switch to non-root user
USER appuser
# Simple CUDA test
RUN python3 -c "import torch; print('CUDA available:', torch.cuda.is_available()); print('CUDA version:', torch.version.cuda); print('Device count:', torch.cuda.device_count())"
EXPOSE 8000
CMD ["python3", "server.py"]