Files
website-secure/backend/Dockerfile
T
pm 22940982e7
DevSecOps Enterprise Pipeline / security-gate-and-deploy (pull_request) Failing after 46s
trivy nodemailer
2026-06-12 23:49:01 +01:00

32 lines
816 B
Docker

FROM node:22-alpine
RUN apk update && apk upgrade --no-cache
# 2. Atualiza a versão global do gestor NPM (Corrige tar, glob, minimatch)
RUN npm install -g npm@latest
# Cria um grupo e um utilizador sem privilégios
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
# Define o diretório de trabalho
WORKDIR /usr/src/app
# Ajusta as permissões da pasta para o novo utilizador
RUN chown -R appuser:appgroup /usr/src/app
# Copia os ficheiros e instala dependências
COPY package*.json ./
RUN npm install --omit=dev
# Copia o código fonte
COPY backend/ ./backend/
COPY frontend/ ./frontend/
# Altera a propriedade dos ficheiros copiados para o utilizador
RUN chown -R appuser:appgroup /usr/src/app
# Muda para o utilizador sem privilégios
USER appuser
EXPOSE 3000
CMD ["node", "backend/server.js"]