# Use the official Python 3.12 image as a base | |
FROM python:3.12-slim | |
# Set environment variables to prevent Python from writing .pyc files and buffering stdout/stderr | |
ENV PYTHONDONTWRITEBYTECODE=1 | |
ENV PYTHONUNBUFFERED=1 | |
# Install system dependencies | |
RUN apt-get update && apt-get install -y \ | |
build-essential \ | |
git \ | |
wget \ | |
curl \ | |
unzip \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Create a working directory | |
WORKDIR /app | |
# Create cache directory with proper permissions | |
RUN mkdir -p /app/cache && chmod -R 777 /app/cache | |
# Set the cache environment variable | |
ENV HF_HOME=/app/cache | |
# Install Python dependencies | |
RUN pip install --upgrade pip | |
# Copy the current directory contents into the container at /app | |
COPY . /app | |
# Install requirements | |
RUN pip install -r requirements.txt | |
# Unzip the data.zip file into the /app/data directory | |
RUN unzip data.zip -d /app/data | |
# Set the default command to run when starting the container | |
CMD ["python", "model.py"] | |