# Use a slim Python 3.12 image
FROM python:3.12-slim

# Copy your packages.txt file into the container
COPY packages.txt .

# Update package lists, upgrade installed packages, then install system dependencies
RUN apt-get update && \
    apt-get upgrade -y && \
    xargs -a packages.txt apt-get install -y --no-install-recommends && \
    rm -rf /var/lib/apt/lists/*

# Set the working directory
WORKDIR /app

# Copy dependency files
COPY requirements.txt .

# Upgrade pip and install Python dependencies
RUN pip install --upgrade pip && pip install -r requirements.txt --no-cache-dir

# Check Installed Packages
RUN pip list

# Copy the rest of your app's code
COPY . .

# Expose the port Streamlit uses
EXPOSE 8501

# Command to run your Streamlit app
CMD ["streamlit", "run", "app_main_hf.py", "--server.enableCORS", "false"]