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"]