Dockerfile.ui 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. FROM node:lts-slim AS cvat-ui
  2. ARG WA_PAGE_VIEW_HIT
  3. ARG UI_APP_CONFIG
  4. ARG CLIENT_PLUGINS
  5. ARG DISABLE_SOURCE_MAPS
  6. ARG SOURCE_MAPS_TOKEN
  7. ENV TERM=xterm \
  8. LANG='C.UTF-8' \
  9. LC_ALL='C.UTF-8'
  10. # Install dependencies
  11. COPY package.json /tmp/
  12. COPY yarn.lock /tmp/
  13. COPY cvat-core/package.json /tmp/cvat-core/
  14. COPY cvat-canvas/package.json /tmp/cvat-canvas/
  15. COPY cvat-canvas3d/package.json /tmp/cvat-canvas3d/
  16. COPY cvat-ui/package.json /tmp/cvat-ui/
  17. COPY cvat-data/package.json /tmp/cvat-data/
  18. # Install common dependencies
  19. WORKDIR /tmp/
  20. RUN DISABLE_HUSKY=1 yarn --frozen-lockfile
  21. # Build source code
  22. COPY cvat-data/ /tmp/cvat-data/
  23. COPY cvat-core/ /tmp/cvat-core/
  24. COPY cvat-canvas3d/ /tmp/cvat-canvas3d/
  25. COPY cvat-canvas/ /tmp/cvat-canvas/
  26. COPY cvat-ui/ /tmp/cvat-ui/
  27. RUN CLIENT_PLUGINS="${CLIENT_PLUGINS}" \
  28. DISABLE_SOURCE_MAPS="${DISABLE_SOURCE_MAPS}" \
  29. UI_APP_CONFIG="${UI_APP_CONFIG}" \
  30. SOURCE_MAPS_TOKEN="${SOURCE_MAPS_TOKEN}" yarn run build:cvat-ui
  31. FROM nginx:1.25.4-alpine3.18
  32. # Replace default.conf configuration to remove unnecessary rules
  33. COPY cvat-ui/react_nginx.conf /etc/nginx/conf.d/default.conf
  34. COPY --from=cvat-ui /tmp/cvat-ui/dist /usr/share/nginx/html/