# Use the official Python image as a parent image
FROM python:3.11.3-slim

# Set the working directory within the container
WORKDIR /app

# Copy the requirements.txt file into the container
COPY ./requirements.txt /app/requirements.txt

# Install the Python dependencies
RUN pip install -r /app/requirements.txt

# Set MPLCONFIGDIR to /tmp
# ENV MPLCONFIGDIR /tmp

# Copy your Gradio application code into the container
COPY ./app.py /app/app.py

# Copy the model and key components into the container
COPY ./rf_key_components.pkl /app/rf_key_components.pkl

# Set permissions for the flagged directory
RUN mkdir /app/flagged && chmod -R 777 /app/flagged

# Expose port 7860 for the Gradio application
EXPOSE 7860

# Command to run the Gradio app when the container starts
CMD ["python", "app.py"]