Barclays-banner-builder/backend/Dockerfile
Vadym Samoilenko dcf517d46b Fix Docker build: hatchling can't find app package before COPY
Add [tool.hatch.build.targets.wheel] packages=["app"] so hatchling knows
where the package is. Create stub app/__init__.py in Dockerfile before
pip install so metadata generation succeeds without the full source tree.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:08:40 +01:00

34 lines
1 KiB
Docker

FROM python:3.12-slim AS base
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1
WORKDIR /app
# System deps for WeasyPrint and Pillow
RUN apt-get update && apt-get install -y --no-install-recommends \
libpango-1.0-0 \
libpangoft2-1.0-0 \
libpangocairo-1.0-0 \
libgdk-pixbuf-2.0-0 \
libffi-dev \
libcairo2 \
libgirepository1.0-dev \
shared-mime-info \
fonts-liberation \
&& rm -rf /var/lib/apt/lists/*
COPY pyproject.toml .
# Create stub so hatchling can resolve package metadata before source is copied
RUN mkdir -p app && touch app/__init__.py
RUN pip install -e ".[dev]"
# ── dev target (default) ───────────────────────────────────────
FROM base AS dev
COPY . .
# ── prod target ────────────────────────────────────────────────
FROM base AS prod
COPY . .
RUN pip install -e "."