BuyingAgent/backend/Dockerfile
Lars 68a8e3d945
Some checks failed
Deploy Development / deploy (push) Successful in 2m6s
Test Suite / pytest-backend (push) Failing after 14s
Test Suite / smoke-dev (push) Successful in 1s
Test Suite / frontend-checks (push) Successful in 28s
Uebernimm Enum-Listen und Filtergruppen in die Taxonomie, speichere Suchtreffer als Kandidaten und lasse CI das vorhandene API-Image nutzen.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-04 15:12:51 +02:00

43 lines
1.0 KiB
Docker

FROM ghcr.io/astral-sh/uv:0.10.11-python3.13-trixie-slim AS base
RUN apt-get update \
&& apt-get install -y --no-install-recommends libpq5 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
ENV UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy \
PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PATH="/app/.venv/bin:$PATH"
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev --no-install-project
FROM base AS runtime
COPY . .
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
RUN uv sync --frozen --extra live --extra test --no-dev \
&& playwright install --with-deps chromium \
&& sed -i 's/\r$//' /app/scripts/startup.sh \
&& chmod +x /app/scripts/startup.sh \
&& useradd --create-home --uid 1000 app \
&& chown -R app:app /app /ms-playwright
USER app
EXPOSE 8000
CMD ["/app/scripts/startup.sh"]
FROM base AS test
COPY . .
RUN uv sync --frozen --extra test \
&& useradd --create-home --uid 1000 app \
&& chown -R app:app /app
USER app
CMD ["pytest", "tests", "-m", "not slow", "-ra", "--tb=short"]