65 lines
2.7 KiB
Docker
65 lines
2.7 KiB
Docker
FROM node:20-alpine AS cms-builder
|
|
|
|
WORKDIR /cms
|
|
|
|
COPY cms/package*.json .
|
|
RUN npm ci
|
|
|
|
COPY cms/ .
|
|
|
|
ARG VITE_API_BASE_URL
|
|
ARG VITE_SHOP_FIAT_CURRENCY
|
|
ARG VITE_PRODUCT_THUMB_ALLOWED_MIMES
|
|
ARG VITE_PRODUCT_THUMB_MAX_FILE_BYTES
|
|
ARG VITE_SHOP_LOGO_ALLOWED_MIMES
|
|
ARG VITE_SHOP_LOGO_MAX_FILE_BYTES
|
|
ARG VITE_SHOP_FAVICON_ALLOWED_MIMES
|
|
ARG VITE_SHOP_FAVICON_MAX_FILE_BYTES
|
|
ARG VITE_DIGITAL_STOCK_ATTACHMENT_ALLOWED_MIMES
|
|
ARG VITE_DIGITAL_STOCK_ATTACHMENT_MAX_FILE_BYTES
|
|
ARG VITE_VALIDATION_PRODUCT_TITLE_MAX_LENGTH
|
|
ARG VITE_VALIDATION_CATEGORY_NAME_MAX_LENGTH
|
|
ARG VITE_VALIDATION_DISCOUNT_CODE_MAX_LENGTH
|
|
ARG VITE_VALIDATION_VARIANT_IMAGES_MAX
|
|
ARG VITE_VALIDATION_DIGITAL_STOCK_ATTACHMENTS_MAX
|
|
ARG VITE_VALIDATION_SHIPPING_NOTE_MIN_LENGTH
|
|
ARG VITE_VALIDATION_SHIPPING_NOTE_MAX_LENGTH
|
|
ARG VITE_VALIDATION_ORDER_MESSAGE_MAX_LENGTH
|
|
ARG VITE_ORDERS_DETAIL_POLL_INTERVAL_MS
|
|
|
|
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL \
|
|
VITE_SHOP_FIAT_CURRENCY=$VITE_SHOP_FIAT_CURRENCY \
|
|
VITE_PRODUCT_THUMB_ALLOWED_MIMES=$VITE_PRODUCT_THUMB_ALLOWED_MIMES \
|
|
VITE_PRODUCT_THUMB_MAX_FILE_BYTES=$VITE_PRODUCT_THUMB_MAX_FILE_BYTES \
|
|
VITE_SHOP_LOGO_ALLOWED_MIMES=$VITE_SHOP_LOGO_ALLOWED_MIMES \
|
|
VITE_SHOP_LOGO_MAX_FILE_BYTES=$VITE_SHOP_LOGO_MAX_FILE_BYTES \
|
|
VITE_SHOP_FAVICON_ALLOWED_MIMES=$VITE_SHOP_FAVICON_ALLOWED_MIMES \
|
|
VITE_SHOP_FAVICON_MAX_FILE_BYTES=$VITE_SHOP_FAVICON_MAX_FILE_BYTES \
|
|
VITE_DIGITAL_STOCK_ATTACHMENT_ALLOWED_MIMES=$VITE_DIGITAL_STOCK_ATTACHMENT_ALLOWED_MIMES \
|
|
VITE_DIGITAL_STOCK_ATTACHMENT_MAX_FILE_BYTES=$VITE_DIGITAL_STOCK_ATTACHMENT_MAX_FILE_BYTES \
|
|
VITE_VALIDATION_PRODUCT_TITLE_MAX_LENGTH=$VITE_VALIDATION_PRODUCT_TITLE_MAX_LENGTH \
|
|
VITE_VALIDATION_CATEGORY_NAME_MAX_LENGTH=$VITE_VALIDATION_CATEGORY_NAME_MAX_LENGTH \
|
|
VITE_VALIDATION_DISCOUNT_CODE_MAX_LENGTH=$VITE_VALIDATION_DISCOUNT_CODE_MAX_LENGTH \
|
|
VITE_VALIDATION_VARIANT_IMAGES_MAX=$VITE_VALIDATION_VARIANT_IMAGES_MAX \
|
|
VITE_VALIDATION_DIGITAL_STOCK_ATTACHMENTS_MAX=$VITE_VALIDATION_DIGITAL_STOCK_ATTACHMENTS_MAX \
|
|
VITE_VALIDATION_SHIPPING_NOTE_MIN_LENGTH=$VITE_VALIDATION_SHIPPING_NOTE_MIN_LENGTH \
|
|
VITE_VALIDATION_SHIPPING_NOTE_MAX_LENGTH=$VITE_VALIDATION_SHIPPING_NOTE_MAX_LENGTH \
|
|
VITE_VALIDATION_ORDER_MESSAGE_MAX_LENGTH=$VITE_VALIDATION_ORDER_MESSAGE_MAX_LENGTH \
|
|
VITE_ORDERS_DETAIL_POLL_INTERVAL_MS=$VITE_ORDERS_DETAIL_POLL_INTERVAL_MS
|
|
|
|
RUN npm run build
|
|
|
|
FROM nginx:alpine
|
|
|
|
RUN apk add --no-cache gettext
|
|
|
|
COPY --from=cms-builder /cms/dist /usr/share/nginx/html/cms
|
|
|
|
COPY nginx/conf.d/ /etc/nginx/templates/conf.d/
|
|
COPY nginx/snippets/ /etc/nginx/templates/snippets/
|
|
COPY nginx/docker-entrypoint.sh /docker-entrypoint.sh
|
|
|
|
RUN chmod +x /docker-entrypoint.sh
|
|
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|