# Production Dockerfile for Puffin Backend FROM node:20-alpine WORKDIR /app # Install wget for healthcheck RUN apk add --no-cache wget # Copy package files COPY package*.json ./ # Install production dependencies only RUN npm ci --only=production # Copy application code COPY . . # Create data directory for SQLite RUN mkdir -p /app/data # Expose port EXPOSE 3001 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:3001/health || exit 1 # Start the server CMD ["node", "index.js"]