Files
q-buffer/Dockerfile

29 lines
946 B
Docker

FROM node:20-bookworm-slim AS base
WORKDIR /app
RUN corepack enable \
&& apt-get update \
&& apt-get install -y --no-install-recommends build-essential \
&& rm -rf /var/lib/apt/lists/*
FROM base AS deps
COPY package.json pnpm-workspace.yaml ./
COPY apps/server/package.json apps/server/package.json
COPY apps/web/package.json apps/web/package.json
RUN pnpm install --frozen-lockfile=false --prod=false
FROM deps AS build
COPY . .
RUN pnpm -C apps/web build
RUN pnpm -C apps/server build
FROM base AS prod
ENV NODE_ENV=production
WORKDIR /app
COPY --from=deps /app/node_modules /app/node_modules
COPY --from=deps /app/apps/server/node_modules /app/apps/server/node_modules
COPY --from=build /app/apps/server/dist /app/apps/server/dist
COPY --from=build /app/apps/server/package.json /app/apps/server/package.json
COPY --from=build /app/apps/server/public /app/apps/server/public
EXPOSE 3001
CMD ["node", "/app/apps/server/dist/index.js"]