# Use a slim Python image FROM python:3.12-slim # Set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 ENV POETRY_HOME /opt/poetry ENV PATH $POETRY_HOME/bin:$PATH ENV PYTHONPATH /app:/app/src:$PYTHONPATH # Install system dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ gcc \ git \ make \ && rm -rf /var/lib/apt/lists/* # Install Poetry RUN curl -sSL https://install.python-poetry.org | python3 - # Set working directory WORKDIR /app # Copy project files COPY pyproject.toml poetry.lock* ./ # Install project dependencies RUN poetry config virtualenvs.create false \ && poetry install --no-interaction --no-ansi # Copy the rest of the application COPY . . # Expose ports for FastAPI and Streamlit EXPOSE 8000 8501 # The command will be specified in docker-compose.yml CMD ["bash"]