# Stage 1: Build
FROM node:lts-alpine3.17 AS builder

WORKDIR /docker_taskapp

COPY package.json package.json
COPY package-lock.json package-lock.json

RUN npm install

COPY . .

# Stage 2: Final image
FROM node:lts-alpine3.17

WORKDIR /docker_taskapp

RUN addgroup -g 1001 -S taskgroup && adduser -u 1001 -S taskuser -G taskgroup

COPY --from=builder /docker_taskapp /docker_taskapp

RUN chown -R taskuser:taskgroup /docker_taskapp

USER taskuser

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