# Estágio 1: Build (Node.js Alpine) FROM node:18-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build # Estágio 2: Execução (Nginx Alpine) FROM nginx:stable-alpine # Hugging Face exige a porta 7860 por padrão # Ajustamos a configuração do Nginx para escutar nela RUN sed -i 's/listen[[:space:]]*80;/listen 7860;/g' /etc/nginx/conf.d/default.conf # Permissões necessárias para rodar como usuário não-root no HF RUN touch /var/run/nginx.pid && \ chown -R 1000:1000 /var/run/nginx.pid /var/cache/nginx /var/log/nginx /usr/share/nginx/html # Copia os arquivos do build COPY --from=build /app/build /usr/share/nginx/html # Define o usuário padrão do Hugging Face (UID 1000) USER 1000 # Expõe a porta correta EXPOSE 7860 CMD ["nginx", "-g", "daemon off;"]