|
1 | | -FROM node:20-bookworm-slim AS deps |
2 | | - |
3 | | -WORKDIR /app |
4 | | - |
| 1 | +FROM node:24-bookworm-slim AS builder |
| 2 | +ENV PNPM_HOME=/pnpm |
| 3 | +ENV PATH=$PNPM_HOME:$PATH |
| 4 | +RUN corepack enable && corepack prepare pnpm@11.1.2 --activate |
5 | 5 | RUN apt-get update \ |
6 | 6 | && apt-get install -y --no-install-recommends python3 make g++ \ |
7 | 7 | && rm -rf /var/lib/apt/lists/* |
8 | | - |
9 | | -COPY apps/web/package.json apps/web/package.json |
10 | | -COPY apps/web/package-lock.json apps/web/package-lock.json |
11 | | -RUN cd apps/web && npm install |
12 | | - |
13 | | -FROM node:20-bookworm-slim AS builder |
14 | | - |
15 | 8 | WORKDIR /app |
16 | | - |
17 | | -COPY --from=deps /app/apps/web/node_modules ./apps/web/node_modules |
| 9 | +COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ |
| 10 | +COPY apps/web/package.json ./apps/web/package.json |
| 11 | +COPY services/opencode-query/package.json ./services/opencode-query/package.json |
| 12 | +COPY services/sync-worker/package.json ./services/sync-worker/package.json |
| 13 | +COPY showcase-website/package.json ./showcase-website/package.json |
| 14 | +COPY packages ./packages |
| 15 | +RUN pnpm --filter lattice-web... install --frozen-lockfile |
18 | 16 | COPY apps/web ./apps/web |
| 17 | +RUN pnpm --filter lattice-web build |
19 | 18 |
|
20 | | -RUN cd apps/web && npm run build |
21 | | - |
22 | | -FROM node:20-bookworm-slim AS runner |
23 | | - |
24 | | -WORKDIR /app |
25 | | - |
| 19 | +FROM node:24-bookworm-slim AS runner |
26 | 20 | ENV NODE_ENV=production |
27 | 21 | ENV PORT=3000 |
28 | | - |
| 22 | +ENV HOSTNAME=0.0.0.0 |
| 23 | +WORKDIR /app |
29 | 24 | COPY --from=builder /app/apps/web/.next/standalone ./ |
30 | | -COPY --from=builder /app/apps/web/.next/static ./.next/static |
31 | | -COPY --from=builder /app/apps/web/public ./public |
32 | | -COPY --from=builder /app/apps/web/drizzle ./drizzle |
33 | | - |
| 25 | +COPY --from=builder /app/apps/web/.next/static ./apps/web/.next/static |
| 26 | +COPY --from=builder /app/apps/web/public ./apps/web/public |
| 27 | +COPY --from=builder /app/apps/web/drizzle ./apps/web/drizzle |
| 28 | +WORKDIR /app/apps/web |
34 | 29 | EXPOSE 3000 |
35 | | - |
36 | 30 | CMD ["node", "server.js"] |
0 commit comments