#FROM node:18-alpine
FROM node:14.0.0-alpine
# 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"]