Files
pcrt-legal-return/app/Dockerfile
tommaso e0190c6a45 Fix app proxy 400 in prod: Docker base node:18-alpine -> node:22-alpine
Node 18-alpine non espone 'crypto' come global dichiarato: la libreria
@shopify/shopify-api getCryptoLib() fa 'crypto?.webcrypto' -> ReferenceError
'crypto is not defined' -> validateAppProxyHmac fallisce -> 400 su ogni richiesta
app proxy. Node 22 (come in dev) espone crypto global -> HMAC ok -> 200.

Diagnosi: log Fly mostravano 'crypto is not defined' prima di ogni 400; verificato
con firma app-proxy calcolata a mano (ora 200 + form recesso).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mv83a29B4eFv5ixoj6PoE1
2026-07-07 18:23:41 +02:00

22 lines
430 B
Docker

FROM node:22-alpine
RUN apk add --no-cache openssl
EXPOSE 3000
WORKDIR /app
ENV NODE_ENV=production
COPY package.json package-lock.json* ./
RUN npm ci --omit=dev && npm cache clean --force
# Remove CLI packages since we don't need them in production by default.
# Remove this line if you want to run CLI commands in your container.
RUN npm remove @shopify/cli
COPY . .
RUN npm run build
CMD ["npm", "run", "docker-start"]