Spaces:
Running
Running
| # Slim Node.js 20 — no bloat | |
| FROM node:20-slim | |
| WORKDIR /app | |
| # Copy and install from lockfile (deterministic, uses prebuilt sharp binaries) | |
| COPY package.json package-lock.json ./ | |
| RUN npm ci --omit=dev | |
| # Copy application code (respects .dockerignore) | |
| COPY . . | |
| # Hugging Face requires port 7860 | |
| EXPOSE 7860 | |
| ENV PORT=7860 | |
| ENV NODE_OPTIONS="--dns-result-order=ipv4first" | |
| CMD ["node", "server.js"] | |