Spaces:
Running
Running
# Build stage | |
FROM node:20-slim AS builder | |
# Set working directory | |
WORKDIR /app | |
# Copy package files | |
COPY package*.json ./ | |
# Install dependencies | |
RUN npm install | |
# Copy project files | |
COPY . . | |
# Build the app | |
RUN npm run build | |
# Production stage | |
FROM nginx:alpine | |
# Copy built assets from builder stage | |
COPY --from=builder /app/dist /usr/share/nginx/html | |
# Copy nginx configuration | |
COPY nginx.conf /etc/nginx/conf.d/default.conf | |
# Expose port 7860 (default for Hugging Face Spaces) | |
EXPOSE 7860 | |
# Start nginx | |
CMD ["nginx", "-g", "daemon off;"] |