# syntax=docker/dockerfile:1 FROM node:24-bookworm-slim AS build WORKDIR /app ARG SCHON_BASE_DOMAIN ARG SCHON_PROJECT_NAME ARG SCHON_LANGUAGE_CODE ENV SCHON_BASE_DOMAIN=$SCHON_BASE_DOMAIN ENV SCHON_PROJECT_NAME=$SCHON_PROJECT_NAME ENV SCHON_LANGUAGE_CODE=$SCHON_LANGUAGE_CODE COPY ./storefront/package.json ./storefront/package-lock.json ./ RUN npm ci --include=optional COPY ./storefront ./ RUN npm run build FROM node:22-bookworm-slim AS runtime WORKDIR /app ENV HOST=0.0.0.0 ENV PORT=3000 RUN apt-get update \ && apt-get install -y --no-install-recommends curl \ && rm -rf /var/lib/apt/lists/* RUN addgroup --system --gid 1001 nodeapp \ && adduser --system --uid 1001 --ingroup nodeapp --home /home/nodeapp nodeapp USER nodeapp COPY --from=build /app/.output/ ./ RUN install -d -m 0755 -o nodeapp -g nodeapp /home/nodeapp \ && printf '#!/bin/sh\nif [ \"$DEBUG\" = \"1\" ]; then export NODE_ENV=development; else export NODE_ENV=production; fi\nexec node /app/server/index.mjs\n' > /home/nodeapp/start.sh \ && chown nodeapp:nodeapp /home/nodeapp/start.sh \ && chmod +x /home/nodeapp/start.sh USER nodeapp CMD ["sh", "/home/nodeapp/start.sh"]