20 lines
667 B
Docker
20 lines
667 B
Docker
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"]
|