pranit144's picture
Update Dockerfile
1e443e7 verified
# Use Python 3.9 slim image
FROM python:3.9-slim
# Set the working directory
WORKDIR /app
# Install system dependencies required for OpenCV, pygame, and building packages.
RUN apt-get update && apt-get install -y \
libgl1-mesa-glx \
libglib2.0-0 \
gcc \
libcairo2-dev \
pkg-config \
python3-dev \
libgirepository1.0-dev \
gir1.2-gtk-3.0 \
libsdl2-dev \
libsdl2-image-dev \
libsdl2-mixer-dev \
libsdl2-ttf-dev \
&& rm -rf /var/lib/apt/lists/*
# Create a writable directory for fontconfig cache and set environment variables
RUN mkdir -p /tmp/fontconfig && chmod -R 777 /tmp/fontconfig
ENV FC_CACHEDIR=/tmp/fontconfig
ENV XDG_CACHE_HOME=/tmp
# Copy requirements.txt first to leverage Docker cache
COPY requirements.txt .
# Upgrade pip and install Python dependencies
RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt
# Explicitly install pygame (if not already in requirements.txt)
RUN pip install pygame
# Copy the rest of the application code into the container
COPY . .
# Expose the port (Flask default is 5000)
EXPOSE 5000
# Command to run the application
CMD ["python", "app.py"]