FROM python:3.12-slim WORKDIR /app # Install system dependencies and Poetry RUN apt-get update \ && apt-get install -y --no-install-recommends \ gcc \ && rm -rf /var/lib/apt/lists/* \ && pip install --no-cache-dir poetry # Copy Poetry configuration COPY DockerApiServices/pyproject.toml ./pyproject.toml # # Configure Poetry and install dependencies with optimizations # RUN poetry config virtualenvs.create false \ # && poetry install --no-interaction --no-ansi --no-root --only main \ # && pip cache purge \ # && rm -rf ~/.cache/pypoetry # # Copy application code # COPY DockerApiServices/EventServiceApi /app # # Copy application code # COPY ApiLayers /app/ApiLayers # COPY Services /app/Services # # Events # # COPY Events/base_request_model.py /app/Events/base_request_model.py # COPY Events/Engine /app/Events/Engine # COPY Events/AllEvents/events /app/Events/AllEvents/events # COPY DockerApiServices/EventServiceApi/events_file.py /app/Events/AllEvents/events_file.py # # Set Python path to include app directory # ENV PYTHONPATH=/app \ # PYTHONUNBUFFERED=1 \ # PYTHONDONTWRITEBYTECODE=1 # # Run the application using the configured uvicorn server # CMD ["poetry", "run", "python", "app.py"]