22 lines
885 B
Docker
22 lines
885 B
Docker
# ---- build ----
|
|
FROM node:22-alpine AS build
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json ./
|
|
RUN npm ci --legacy-peer-deps
|
|
COPY . .
|
|
# Kendo Angular license: passed in as a build-arg (from a Gitea Actions secret).
|
|
# kendo-licensing v20 needs the key activated at build time. We both export the
|
|
# env var AND run `kendo-ui-license activate`, which validates the key and writes
|
|
# the activation kendo-licensing reads during `ng build`. None of this reaches
|
|
# the runtime image (that stage is just nginx + static files).
|
|
ARG KENDO_UI_LICENSE
|
|
ENV KENDO_UI_LICENSE=${KENDO_UI_LICENSE}
|
|
RUN npx kendo-ui-license activate
|
|
RUN npm run build # -> dist/client-bridge/browser (production by default)
|
|
|
|
# ---- runtime ----
|
|
FROM nginx:alpine AS final
|
|
COPY nginx.app.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /app/dist/client-bridge/browser /usr/share/nginx/html
|
|
EXPOSE 80
|