Quote API Deploy
fix: pakai user node bawaan image, bukan buat user baru (UID 1000 conflict)
495be9a unverified | # Hugging Face Spaces β quote-api | |
| # Port wajib 7860 sesuai requirement HF Spaces Docker. | |
| FROM node:22-bookworm AS builder | |
| WORKDIR /app | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential g++ make python3 \ | |
| libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev libpixman-1-dev pkg-config \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY package*.json ./ | |
| RUN npm ci --omit=dev | |
| # ββ Runtime stage ββββββββββββββββββββββββββββββββββββββββββββββ | |
| FROM node:22-bookworm-slim | |
| WORKDIR /app | |
| ENV NODE_ENV=production | |
| # HF Spaces hanya expose port 7860 | |
| ENV PORT=7860 | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| fonts-noto fonts-noto-cjk fonts-noto-extra fontconfig \ | |
| libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libjpeg62-turbo libgif7 librsvg2-2 libpixman-1-0 libvips42 \ | |
| ffmpeg curl \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && fc-cache -f -v | |
| # Pakai user 'node' bawaan image (UID 1000) β tidak perlu buat user baru | |
| COPY --from=builder /app/node_modules ./node_modules | |
| COPY --chown=node:node . . | |
| USER node | |
| EXPOSE 7860 | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ | |
| CMD curl -f http://localhost:7860/health || exit 1 | |
| CMD ["node", "index.js"] | |