OCR_DATASET_MAKER / Dockerfile
Omarrran's picture
Fix Dockerfile paths
d479f20
# Multi-stage Docker build for OCR Dataset Generator
# Optimized for Hugging Face Spaces deployment
# ================================
# Stage 1: Dependencies
# ================================
FROM node:20-alpine AS deps
WORKDIR /app
# Copy package files from web folder
COPY web/package.json web/package-lock.json* ./
# Install dependencies
RUN npm ci
# ================================
# Stage 2: Builder
# ================================
FROM node:20-alpine AS builder
WORKDIR /app
# Copy dependencies from deps stage
COPY --from=deps /app/node_modules ./node_modules
# Copy web source files
COPY web/ ./
# Disable telemetry and build
ENV NEXT_TELEMETRY_DISABLED=1
RUN npm run build
# ================================
# Stage 3: Runner
# ================================
FROM node:20-alpine AS runner
WORKDIR /app
# Set production environment
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
# Copy standalone build
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
# Copy public folder if it exists (use conditional copy pattern)
COPY --from=builder /app/public* ./public/
# Create HF Spaces persistent storage directory
RUN mkdir -p /data && chmod 777 /data
ENV DATA_DIR=/data
# HF Spaces uses port 7860
EXPOSE 7860
ENV PORT=7860
ENV HOSTNAME="0.0.0.0"
# Start the Next.js server
CMD ["node", "server.js"]