FROM node:20-bullseye-slim ENV npm_config_registry=https://registry.npmmirror.com ENV npm_config_build_from_source=true # Build prerequisites for native modules (better-sqlite3) RUN apt-get update \ && apt-get install -y --no-install-recommends python3 make g++ \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Install server deps in container (native modules match linux/amd64) COPY server/package.json ./server/package.json RUN cd server && npm install --omit=dev --build-from-source # Copy server runtime and prebuilt frontend from host COPY server/dist ./server/dist COPY dist ./frontend ENV PORT=3004 ENV DB_PATH=/data/purchase.db EXPOSE 3004 CMD ["node", "server/dist/index.js"]