A Tanstack Start (Solid flavour) template for my projects
at main 27 lines 725 B view raw
1FROM node:24 AS base 2WORKDIR /app 3ENV PNPM_HOME="/pnpm" 4ENV PATH="$PNPM_HOME:$PATH" 5RUN corepack enable && corepack prepare pnpm@latest --activate 6RUN pnpm config set node-linker hoisted 7COPY package.json pnpm-lock.yaml ./ 8RUN pnpm fetch 9 10FROM base AS prod-deps 11RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile --prod 12 13FROM base AS build-deps 14RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 15 16FROM build-deps AS build 17COPY . . 18RUN pnpm build 19 20FROM gcr.io/distroless/nodejs24-debian13 AS runtime 21COPY --from=prod-deps /app/node_modules ./node_modules 22COPY --from=build /app/dist ./dist 23 24ENV HOST=0.0.0.0 25ENV PORT=3000 26EXPOSE 3000 27CMD ["./dist/server/entry.mjs"]