FROM node:22-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build FROM node:22-alpine WORKDIR /app ENV NODE_ENV=production \ PORT=3000 \ DATA_FILE=/app/data/finance.json COPY package*.json ./ RUN npm install --omit=dev && npm cache clean --force COPY server ./server COPY --from=build /app/dist ./dist RUN mkdir -p /app/data && chown -R node:node /app USER node EXPOSE 3000 CMD ["node", "server/index.js"]