# ============================================================
#  SiGeM Backend — Dockerfile
# ============================================================
FROM node:20-alpine AS base
WORKDIR /app
RUN apk add --no-cache dumb-init

# Dependências
FROM base AS deps
COPY package*.json ./
RUN npm ci --only=production && npm cache clean --force

# Produção
FROM base AS production
ENV NODE_ENV=production
COPY --from=deps /app/node_modules ./node_modules
COPY src ./src
COPY package.json ./

RUN mkdir -p uploads logs backups && \
    addgroup -g 1001 -S nodejs && \
    adduser -S sigem -u 1001 && \
    chown -R sigem:nodejs /app

USER sigem
EXPOSE 3000
ENTRYPOINT ["dumb-init", "--"]
CMD ["node", "src/server.js"]
