FROM ghcr.io/astral-sh/uv:python3.13-alpine as builder ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy UV_PYTHON_DOWNLOADS=0 WORKDIR /app ADD . /app RUN apk add --no-cache cargo git libpq libpq-dev && \ uv sync --frozen --no-install-project --no-dev --extra postgres RUN --mount=type=cache,target=/root/.cache/uv \ uv sync --frozen --no-dev --extra postgres FROM python:3.13-alpine3.20 # slixmpp requires libgcc and libpq for Postgres support RUN apk add --no-cache libgcc libpq # Install the application COPY --from=builder /app /app WORKDIR /app ENV PATH="/app/.venv/bin:$PATH" CMD ["/app/.venv/bin/fastapi", "run", "src/xmpp_api/main.py", "--port", "8080"]