FROM python:3.12-slim

COPY --from=ghcr.io/astral-sh/uv:0.8.17 /uv /uvx /bin/

RUN apt-get update \
    && apt-get install --no-install-recommends -y git \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY pyproject.toml uv.lock README.md /app/
COPY src/ /app/src/
COPY airbyte-ops-webapp/ /app/airbyte-ops-webapp/

WORKDIR /app/airbyte-ops-webapp

RUN uv sync --frozen --no-dev

ENV PATH="/app/airbyte-ops-webapp/.venv/bin:$PATH"
ENV PYTHONPATH="/app/airbyte-ops-webapp"
ENV TMPDIR="/app/airbyte-ops-webapp/.cache"
ENV PORT=8080

RUN mkdir -p "$TMPDIR" \
    && python -c "from fastmcp.cli.apps_dev import _EXT_APPS_VERSION, _MCP_SDK_VERSION, _fetch_app_bridge_bundle_sync; _fetch_app_bridge_bundle_sync(_EXT_APPS_VERSION, _MCP_SDK_VERSION)"

EXPOSE 8080

CMD ["python", "-m", "airbyte_ops_webapp.serve"]
