FROM node:22-alpine WORKDIR /app ENV NODE_ENV=production ENV PORT=3000 ENV STATE_FILE_PATH=/data/state.json COPY package.json ./ COPY src ./src COPY README.md ./README.md COPY spec.md ./spec.md EXPOSE 3000 VOLUME ["/data"] HEALTHCHECK --interval=30s --timeout=5s --retries=3 CMD node -e "fetch('http://127.0.0.1:'+process.env.PORT+'/health').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" CMD ["node", "src/server.js"]