FROM node:22-alpine # node:sqlite is built into Node 22, so there are no native modules to compile # and no build stage to carry around. ENV NODE_ENV=production \ PORT=8080 \ DB_PATH=/data/rcs.db WORKDIR /app RUN corepack enable COPY package.json pnpm-lock.yaml pnpm-workspace.yaml* ./ RUN pnpm install --prod --frozen-lockfile COPY server ./server COPY public ./public COPY agent ./agent VOLUME ["/data"] EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s \ CMD wget -qO- http://127.0.0.1:8080/api/health || exit 1 CMD ["node", "server/index.js"]