| FROM oven/bun:latest AS base | |
| WORKDIR /app | |
| COPY package.json tsconfig.json ./ | |
| COPY src/ ./src/ | |
| COPY public/ ./public/ | |
| COPY index.html index.ts ./ | |
| COPY products_rag.json ./ | |
| RUN bun install --production | |
| # Force copy model-en-mixed.bin into vendor (it's stored in public/vendor/ in the repo) | |
| # Docker COPY layer may be cached, so we use a RUN to ensure the file exists | |
| RUN if [ -f /app/public/vendor/model-en-mixed.bin ]; then \ | |
| echo "model-en-mixed.bin found in repo, size: $(wc -c < /app/public/vendor/model-en-mixed.bin) bytes"; \ | |
| else \ | |
| echo "WARNING: model-en-mixed.bin missing from repo!"; \ | |
| fi | |
| EXPOSE 7860 | |
| CMD ["bun", "run", "index.ts"] |