Fire-and-forget telemetry so script failures are captured server-side (Loki via the kms-diag collector). kms-bootstrap.ps1 + setup-kms.ps1 POST a small anonymous JSON event at each outcome (action, ok/fail, error text + exit codes, EditionID/ build/locale, detected Office products; no hostname/user/keys). 3s timeout, errors swallowed -- never affects activation. $env:KMS_NO_TELEMETRY=1 opts out; $env:KMS_DIAG_URL overrides. Version baked at build via Dockerfile sed (__KMS_VERSION__ -> SCRIPT_VERSION build-arg). FAQ updated to disclose it. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
22 lines
840 B
Docker
22 lines
840 B
Docker
# syntax=docker/dockerfile:1.6
|
|
ARG HUGO_VERSION=0.139.0
|
|
ARG NGINX_VERSION=1.27-alpine
|
|
|
|
FROM hugomods/hugo:${HUGO_VERSION} AS build
|
|
ARG SCRIPT_VERSION=dev
|
|
WORKDIR /src
|
|
COPY . .
|
|
RUN hugo --minify --gc --destination /out && \
|
|
sed -i "s/__KMS_VERSION__/${SCRIPT_VERSION}/g" /out/scripts/*.ps1
|
|
|
|
FROM nginx:${NGINX_VERSION}
|
|
LABEL org.opencontainers.image.source="https://forgejo.viktorbarzin.me/viktor/kms-website" \
|
|
org.opencontainers.image.description="kms.viktorbarzin.me — KMS activation reference"
|
|
|
|
# Strip default config so the bundled simple one stays
|
|
RUN rm -f /etc/nginx/conf.d/default.conf
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /out /usr/share/nginx/html
|
|
EXPOSE 80
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
CMD wget -qO- http://127.0.0.1/ >/dev/null 2>&1 || exit 1
|