# Dockerfile for the Node.js checkpoint service FROM node:18-alpine # Set working directory WORKDIR /app # Copy package files, config script, and install dependencies COPY package.json package-lock.json esbuild.config.js ./ # Install all dependencies, build with esbuild, then remove devDeps RUN npm ci && npm run build && npm prune --production # Copy application source COPY . . # Expose the application port EXPOSE 3000 # Set NODE_ENV to production ENV NODE_ENV=production # Run the application CMD ["npm", "run", "daemon"]