FROM python:3.12-slim AS base ENV PYTHONUNBUFFERED=1 ENV POETRY_VIRTUALENVS_CREATE=false RUN apt-get update && apt-get install -y \ build-essential \ curl \ git \ libpq-dev \ pkg-config \ libcairo2-dev \ && rm -rf /var/lib/apt/lists/* RUN curl -sSL https://install.python-poetry.org | python3 - \ && ln -s /root/.local/bin/poetry /usr/local/bin/poetry WORKDIR /app FROM base AS dev ENV APP_ENV=development COPY flowsint-core /app/flowsint-core COPY flowsint-types /app/flowsint-types COPY flowsint-enrichers /app/flowsint-enrichers COPY flowsint-api /app/flowsint-api WORKDIR /app/flowsint-api RUN poetry install --no-root EXPOSE 5001 ENTRYPOINT ["/app/flowsint-api/entrypoint.sh"] CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "5001", "--reload"] # Production stage FROM base AS prod ENV APP_ENV=production COPY flowsint-core /app/flowsint-core COPY flowsint-types /app/flowsint-types COPY flowsint-enrichers /app/flowsint-enrichers COPY flowsint-api /app/flowsint-api WORKDIR /app/flowsint-api RUN poetry install EXPOSE 5001 ENTRYPOINT ["/app/flowsint-api/entrypoint.sh"] CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "5001"]