# Build Stage FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN mkdir -p data RUN npm run build FROM node:20-alpine WORKDIR /app RUN apk add --no-cache sqlite-libs curl COPY package*.json ./ RUN npm install --production COPY --from=builder /app/dist ./dist COPY --from=builder /app/data ./data EXPOSE 80 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD curl -f http://localhost/ || exit 1 ENV NODE_ENV=production ENV PORT=80 CMD ["npm", "run", "preview", "--", "--host", "0.0.0.0", "--port", "80"]