FROM node:20-alpine WORKDIR /app # Copy package files COPY package.json package-lock.json* ./ # Install production dependencies only RUN npm ci --omit=dev # Copy server source code COPY server ./server # Create data directory for SQLite RUN mkdir -p /app/data # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:3000/api/health || exit 1 ENV NODE_ENV=production ENV PORT=3000 EXPOSE 3000 CMD ["node", "server/index.js"]