Rust discount function (one automatic discount evaluating all offers in priority order, parity with the Odoo engine), React Router admin with Polaris, theme app extension and app proxy pages, webhooks incl. GDPR, managed-pricing limits, and a Docker Compose stack (Postgres + Caddy HTTPS) for a single VPS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
849 B
Docker
23 lines
849 B
Docker
# Bundle Offers web app (admin, app proxy, webhooks, scheduler). The Shopify extensions are deployed
|
|
# separately with `shopify app deploy`.
|
|
FROM node:22-alpine AS build
|
|
RUN apk add --no-cache openssl
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json ./
|
|
COPY extensions/bundle-discount/package.json extensions/bundle-discount/package.json
|
|
RUN npm ci
|
|
COPY . .
|
|
RUN npx prisma generate && npm run build && npm prune --omit=dev
|
|
|
|
FROM node:22-alpine
|
|
RUN apk add --no-cache openssl
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
COPY --from=build /app/package.json /app/package-lock.json ./
|
|
COPY --from=build /app/node_modules ./node_modules
|
|
COPY --from=build /app/build ./build
|
|
COPY --from=build /app/prisma ./prisma
|
|
EXPOSE 3000
|
|
# apply database migrations, then start
|
|
CMD ["sh", "-c", "npx prisma migrate deploy && npx react-router-serve ./build/server/index.js"]
|