File size: 816 Bytes
9f46629 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # 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;"]
|