Include SCHON_LANGUAGE_CODE as an environment variable in the `storefront.Dockerfile` and `docker-compose.yml`. This allows for configuring the language code dynamically, improving flexibility for multilingual setups.
40 lines
No EOL
1.1 KiB
Docker
40 lines
No EOL
1.1 KiB
Docker
# 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"] |