diff --git a/Dockerfile b/Dockerfile index deb5bd532..391372c85 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,6 +35,10 @@ ENV NEXT_PUBLIC_BUILD_REF_NAME=${NEXT_PUBLIC_BUILD_REF_NAME} ARG NEXT_PUBLIC_GA4_MEASUREMENT_ID ENV NEXT_PUBLIC_GA4_MEASUREMENT_ID=${NEXT_PUBLIC_GA4_MEASUREMENT_ID} +# Optional argument to configure PostHog at build time (see: docs/deploy-analytics.md) +ARG NEXT_PUBLIC_POSTHOG_KEY +ENV NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY} + # Copy development deps and source COPY --from=deps /app/node_modules ./node_modules COPY . . diff --git a/next.config.mjs b/next.config.mjs index 1d26de7ac..abeafbeb9 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -11,6 +11,7 @@ try { // final fallback buildHash = '2-dev'; } +// The following are used by/available to Release.buildInfo(...) process.env.NEXT_PUBLIC_BUILD_HASH = (buildHash || '').slice(0, 10); process.env.NEXT_PUBLIC_BUILD_PKGVER = JSON.parse('' + await readFile(new URL('./package.json', import.meta.url))).version; process.env.NEXT_PUBLIC_BUILD_TIMESTAMP = new Date().toISOString(); diff --git a/src/common/components/3rdparty/GoogleAnalytics.tsx b/src/common/components/3rdparty/GoogleAnalytics.tsx index 9f14588eb..18de60bfd 100644 --- a/src/common/components/3rdparty/GoogleAnalytics.tsx +++ b/src/common/components/3rdparty/GoogleAnalytics.tsx @@ -53,6 +53,8 @@ function NextGoogleAnalytics(props: { if (currDataLayerName === undefined) currDataLayerName = 'dataLayer'; + const fBuild = Release.buildInfo('frontend'); + return ( <>