From a53b8e23e7f5ccf12546e76038ba5477d936784e Mon Sep 17 00:00:00 2001 From: pm Date: Fri, 12 Jun 2026 01:03:28 +0100 Subject: [PATCH] sonar v2 --- backend/Dockerfile | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 083585f..bb683ba 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,18 +1,27 @@ FROM node:18-alpine -# Define o diretório de trabalho como a raiz da app +# 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 -# Copia os ficheiros de dependências da raiz para o container -COPY package*.json ./ +# Ajusta as permissões da pasta para o novo utilizador +RUN chown -R appuser:appgroup /usr/src/app -# Instala as dependências (agora que o package.json está aqui) +# Copia os ficheiros e instala dependências +COPY package*.json ./ RUN npm install --omit=dev -# Copia o resto do código fonte (backend e frontend) -# Em vez de COPY . . (que copia tudo), copia apenas o que é necessário: +# Copia o código fonte COPY backend/ ./backend/ COPY frontend/ ./frontend/ -# Expõe a porta e define o comando de arranque + +# 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"] \ No newline at end of file