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

FROM node:24-slim AS builder
WORKDIR /app

ARG PUBLIC_ENV_VAR
ARG TEST_ENV_VAR
ENV PUBLIC_ENV_VAR=$PUBLIC_ENV_VAR
ENV TEST_ENV_VAR=$TEST_ENV_VAR

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

RUN --mount=type=cache,target=/root/.npm npm ci

COPY . .

RUN npm run build

FROM node:24-slim AS runner
WORKDIR /app

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/build ./build
COPY --from=builder /app/package.json ./

RUN chown -R cooluser:coolgroup /app
USER cooluser

EXPOSE 3000

CMD ["npm", "run", "start"]
