FROM node:14 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Build backend code. COPY . /usr/src/app RUN npm install --production && \ npm cache clean --force && \ npm run build # Build frontend code using a fixed hash commit. ENV FRONTEND_COMMIT_HASH e95fc5b8ee11d15da9017c5ef47ddb75956cf2a6 RUN mkdir -p /usr/src/app-frontend && cd /usr/src/app-frontend && \ git clone https://github.com/githubsaturn/caprover-frontend.git && \ cd caprover-frontend && \ git reset --hard ${FRONTEND_COMMIT_HASH} && \ npm install --production && npm cache clean --force && \ npm run build && \ mv ./build ../../app/dist-frontend && \ cd / && \ rm -rf /usr/src/app-frontend ENV NODE_ENV production ENV PORT 3000 EXPOSE 3000 CMD ["npm" , "start"]