FROM node:23 AS frontend RUN corepack enable # build the frontend COPY ./frontend /frontend WORKDIR /frontend RUN npm install CMD ["npm", "run", "build"] # RUN mkdir -p /srv/cprush-stats/frontend # RUN cp -rf ./dist/* /srv/cprush-stats/frontend FROM node:23 AS backend RUN corepack enable # build the backend COPY ./backend /backend WORKDIR /backend RUN npm install CMD ["npm", "run", "build"] # RUN mkdir -p /srv/cprush-stats # RUN cp -rf ./dist/* /srv/cprush-stats # RUN cp package.json /srv/cprush-stats/package.json FROM node:23 AS server RUN corepack enable RUN mkdir -p /srv/cprush-stats/frontend COPY --from=frontend /frontend/dist /srv/cprush-stats/frontend COPY --from=backend /backend/dist /srv/cprush-stats COPY --from=backend /backend/package.json /srv/cprush-stats/package.json VOLUME /srv/cprush-stats/data EXPOSE 3001 ENV NODE_ENV=production ENV MEMCACHE_ADDR="localhost:11211" WORKDIR /srv/cprush-stats RUN npm install CMD ["sh", "-c", "node app.js -m $MEMCACHE_ADDR"]