Files
Space-Banane 7e05dd918c
Deploy / Build (push) Successful in 28s
Deploy / Test & Lint (push) Failing after 29s
Deploy / Build and Push Docker Image (push) Has been skipped
Patchpass V1
2026-07-18 20:14:44 +02:00

47 lines
1.5 KiB
Docker

FROM node:24-bookworm-slim AS build
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable && corepack prepare pnpm@11.5.2 --activate
RUN apt-get update && apt-get install -y --no-install-recommends openssl && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY Backend/package.json Backend/pnpm-workspace.yaml ./Backend/
COPY UI/package.json UI/pnpm-workspace.yaml ./UI/
# Install in separate layers to keep peak memory low.
RUN cd Backend && pnpm install
RUN cd UI && pnpm install
COPY . .
# Build the frontend, then generate the Prisma client and compile the backend.
RUN cd UI && pnpm run build
RUN cd Backend && DATABASE_URL=postgresql://x:x@localhost/x pnpm run generate && pnpm run build
FROM node:24-bookworm-slim AS runtime
ENV NODE_ENV=production
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable && corepack prepare pnpm@11.5.2 --activate
RUN apt-get update && apt-get install -y --no-install-recommends openssl && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY Backend/package.json Backend/pnpm-workspace.yaml Backend/prisma.config.ts ./Backend/
COPY Backend/prisma ./Backend/prisma
RUN cd Backend && pnpm install --prod && DATABASE_URL=postgresql://x:x@localhost/x pnpm run generate
COPY --from=build /app/Backend/dist ./Backend/dist
COPY --from=build /app/UI/build ./UI/build
EXPOSE 5000
# Apply migrations on boot, then start the API (which also serves the UI build).
CMD ["sh", "-c", "cd /app/Backend && pnpm migrate:deploy && cd dist && node index.js"]