# Use the official Python 3.10 image
FROM python:3.10

# Set the working directory in the container
WORKDIR /app

# Install system dependencies
RUN apt-get update && apt-get install -y \
    git \
    git-lfs \
    ffmpeg \
    libsm6 \
    libxext6 \
    cmake \
    rsync \
    libgl1-mesa-glx

# Copy requirements.txt to the working directory
COPY requirements.txt .

# Upgrade pip to avoid any compatibility issues
RUN pip install --upgrade pip
RUN pip install --upgrade transformers  # Upgrade transformers here
# Check transformers version
RUN python -c "import transformers; print(transformers.__version__)"
RUN python test_import.py
RUN pip show transformers
RUN python -c "from transformers import SegformerForImageSegmentation"
RUN pip install torch

# Install the required Python packages
RUN pip install -r requirements.txt
RUN pip install --upgrade transformers  # Upgrade transformers here
# Check transformers version
RUN python -c "import transformers; print(transformers.__version__)"
RUN python test_import.py
RUN pip install torch

# Copy the rest of the application code to the working directory
COPY . .
COPY test_import.py 
# Command to run the app with Streamlit
CMD ["streamlit", "run", "app.py", "--server.port=8080", "--server.address=0.0.0.0"]