# ---- build stage ----
FROM node:20-alpine AS build
WORKDIR /app

# Install deps
COPY package*.json ./
RUN npm ci

# Copy source + build
COPY . .
RUN npm run build

# ---- runtime stage ----
FROM node:20-alpine AS runtime
WORKDIR /app

ENV NODE_ENV=production
ENV PORT=3000
ENV HOST=0.0.0.0

# Optional: run as non-root
RUN addgroup -S nodegroup && adduser -S nodeuser -G nodegroup

# Copy only the built output
COPY --from=build /app/.output ./.output

EXPOSE 3000

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