# syntax=docker/dockerfile:1
# Generated by Coolpack
# Provider: node, Framework: nuxt, Output: server

FROM node:24-slim AS builder
WORKDIR /app

RUN corepack enable && corepack prepare pnpm@latest --activate

COPY package.json pnpm-lock.yaml* ./

RUN --mount=type=cache,target=/root/.local/share/pnpm/store pnpm install --frozen-lockfile

COPY . .

RUN --mount=type=cache,target=/app/node_modules/.cache pnpm build

FROM node:24-slim AS runner
WORKDIR /app

RUN corepack enable && corepack prepare pnpm@latest --activate

RUN addgroup --system --gid 1001 coolgroup && \
    adduser --system --uid 1001 --ingroup coolgroup cooluser

ENV NODE_ENV=production

COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/.output ./.output

RUN chown -R cooluser:coolgroup /app
USER cooluser

EXPOSE 3000

CMD ["node", ".output/server/index.mjs"]
