FROM node:18-alpine as builder WORKDIR /app COPY package*.json ./ COPY scripts/patchReactVirtualized.js scripts/ ENV CI 1 RUN npm ci --omit=optional --legacy-peer-deps COPY nginx/ nginx/ COPY assets/ assets/ COPY locale/ locale/ COPY scripts/removeSourcemaps.js scripts/ COPY codegen.yml ./ COPY vite.config.js ./ COPY tsconfig.json ./ COPY sw.js ./ COPY *.d.ts ./ COPY schema.graphql ./ COPY introspection.json ./ COPY src/ src/ ARG API_URI ARG APP_MOUNT_URI ARG MARKETPLACE_URL ARG APPS_MARKETPLACE_API_URI, ARG APPS_TUNNEL_URL_KEYWORDS, ARG SALEOR_APPS_ENDPOINT ARG STATIC_URL ARG SKIP_SOURCEMAPS ENV API_URI ${API_URI:-http://localhost:8000/graphql/} ENV APP_MOUNT_URI ${APP_MOUNT_URI:-/dashboard/} ENV MARKETPLACE_URL ${MARKETPLACE_URL} ENV APPS_MARKETPLACE_API_URI ${APPS_MARKETPLACE_API_URI} ENV APPS_TUNNEL_URL_KEYWORDS ${APPS_TUNNEL_URL_KEYWORDS} ENV SALEOR_APPS_ENDPOINT=${SALEOR_APPS_ENDPOINT} ENV STATIC_URL ${STATIC_URL:-/dashboard/} ENV SKIP_SOURCEMAPS ${SKIP_SOURCEMAPS:-true} RUN npm run build FROM nginx:stable-alpine as runner WORKDIR /app COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf COPY ./nginx/replace-api-url.sh /docker-entrypoint.d/50-replace-api-url.sh COPY --from=builder /app/build/ /app/ LABEL org.opencontainers.image.title="saleor/saleor-dashboard" \ org.opencontainers.image.description="A GraphQL-powered, single-page dashboard application for Saleor." \ org.opencontainers.image.url="https://saleor.io/" \ org.opencontainers.image.source="https://github.com/saleor/saleor-dashboard" \ org.opencontainers.image.revision="$COMMIT_ID" \ org.opencontainers.image.version="$PROJECT_VERSION" \ org.opencontainers.image.authors="Saleor Commerce (https://saleor.io)" \ org.opencontainers.image.licenses="BSD 3"