# XIP backend — Bun + Hono + Prisma.
# Build context is the repo ROOT (see docker-compose.prod.yml) so we can copy backend/.
FROM oven/bun:1-debian AS deps
WORKDIR /app
COPY backend/package.json ./
RUN bun install

FROM oven/bun:1-debian AS runtime
WORKDIR /app
ENV NODE_ENV=production
# Prisma's query engine needs openssl + CA certs (generate downloads it over HTTPS).
RUN apt-get update \
 && apt-get install -y --no-install-recommends openssl ca-certificates \
 && rm -rf /var/lib/apt/lists/*
COPY --from=deps /app/node_modules ./node_modules
COPY backend/ ./
# Generate the Prisma client from the schema (no DB connection required).
RUN bunx prisma generate \
 && chmod +x docker-entrypoint.sh
EXPOSE 3000
# Entrypoint applies migrations + seeds (idempotent) then starts the server.
ENTRYPOINT ["/app/docker-entrypoint.sh"]
