Spaces:
Sleeping
Sleeping
| # marp-share — Hugging Face Docker Space | |
| # Serves the built SPA + REST API + Yjs realtime on port 7860, and runs marp-cli | |
| # (with headless Chromium) for PDF/PPTX export. | |
| FROM node:22-slim | |
| # Chromium + fonts for marp-cli PDF/PPTX export. | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| chromium fonts-liberation fonts-noto-color-emoji fonts-noto-cjk \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| # Install dependencies first for better layer caching. | |
| COPY package.json package-lock.json* ./ | |
| COPY client/package.json ./client/ | |
| COPY server/package.json ./server/ | |
| RUN npm install | |
| # Copy source and build the client bundle. | |
| COPY . . | |
| RUN npm run build | |
| # Persisted data lives in a git-backed HF Dataset (see storage.ts); local dir is fallback. | |
| ENV PORT=7860 \ | |
| CHROME_PATH=/usr/bin/chromium \ | |
| CHROME_NO_SANDBOX=1 | |
| EXPOSE 7860 | |
| CMD ["npm", "run", "start"] | |