diff --git a/Dockerfile b/Dockerfile index e9747d7d..1f2425b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,6 +44,7 @@ ENV NEXT_TELEMETRY_DISABLED=1 ARG NEXT_PUBLIC_SOURCEBOT_TELEMETRY_DISABLED=BAKED_NEXT_PUBLIC_SOURCEBOT_TELEMETRY_DISABLED ARG NEXT_PUBLIC_SOURCEBOT_VERSION=BAKED_NEXT_PUBLIC_SOURCEBOT_VERSION ENV NEXT_PUBLIC_POSTHOG_PAPIK=BAKED_NEXT_PUBLIC_POSTHOG_PAPIK +ENV NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=BAKED_NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY # @nocheckin: This was interfering with the the `matcher` regex in middleware.ts, # causing regular expressions parsing errors when making a request. It's unclear @@ -103,6 +104,8 @@ ENV POSTHOG_PAPIK=$POSTHOG_PAPIK # Sourcebot collects anonymous usage data using [PostHog](https://posthog.com/). Uncomment this line to disable. # ENV SOURCEBOT_TELEMETRY_DISABLED=1 +ENV STRIPE_PUBLISHABLE_KEY="" + # Configure dependencies RUN apk add --no-cache git ca-certificates bind-tools tini jansson wget supervisor uuidgen curl perl jq redis postgresql postgresql-contrib openssl diff --git a/entrypoint.sh b/entrypoint.sh index da402f74..aa01ffb1 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -120,6 +120,9 @@ echo "{\"version\": \"$SOURCEBOT_VERSION\", \"install_id\": \"$SOURCEBOT_INSTALL # Always infer NEXT_PUBLIC_POSTHOG_PAPIK export NEXT_PUBLIC_POSTHOG_PAPIK="$POSTHOG_PAPIK" + # Always infer NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY + export NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="$STRIPE_PUBLISHABLE_KEY" + # Iterate over all .js files in .next & public, making substitutions for the `BAKED_` sentinal values # with their actual desired runtime value. find /app/packages/web/public /app/packages/web/.next -type f -name "*.js" | @@ -127,6 +130,7 @@ echo "{\"version\": \"$SOURCEBOT_VERSION\", \"install_id\": \"$SOURCEBOT_INSTALL sed -i "s|BAKED_NEXT_PUBLIC_SOURCEBOT_TELEMETRY_DISABLED|${NEXT_PUBLIC_SOURCEBOT_TELEMETRY_DISABLED}|g" "$file" sed -i "s|BAKED_NEXT_PUBLIC_SOURCEBOT_VERSION|${NEXT_PUBLIC_SOURCEBOT_VERSION}|g" "$file" sed -i "s|BAKED_NEXT_PUBLIC_POSTHOG_PAPIK|${NEXT_PUBLIC_POSTHOG_PAPIK}|g" "$file" + sed -i "s|BAKED_NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY|${NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY}|g" "$file" done } diff --git a/packages/web/src/app/onboard/components/trialInfoCard.tsx b/packages/web/src/app/onboard/components/trialInfoCard.tsx index 3b2d42b6..7973bd50 100644 --- a/packages/web/src/app/onboard/components/trialInfoCard.tsx +++ b/packages/web/src/app/onboard/components/trialInfoCard.tsx @@ -22,8 +22,9 @@ import { import { useState } from "react"; import { OnboardingFormValues } from "./orgCreateForm"; import { isServiceError } from "@/lib/utils"; +import { NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY } from "@/lib/environment.client"; -const stripePromise = loadStripe(process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY!) +const stripePromise = loadStripe(NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY!) export function TrialCard({ orgCreateInfo }: { orgCreateInfo: OnboardingFormValues }) { const [trialAck, setTrialAck] = useState(false); diff --git a/packages/web/src/lib/environment.client.ts b/packages/web/src/lib/environment.client.ts index 117ebf7e..1c5e9ea3 100644 --- a/packages/web/src/lib/environment.client.ts +++ b/packages/web/src/lib/environment.client.ts @@ -9,3 +9,4 @@ export const NEXT_PUBLIC_POSTHOG_ASSET_HOST = getEnv(process.env.NEXT_PUBLIC_POS export const NEXT_PUBLIC_SOURCEBOT_TELEMETRY_DISABLED = getEnvBoolean(process.env.NEXT_PUBLIC_SOURCEBOT_TELEMETRY_DISABLED, false); export const NEXT_PUBLIC_SOURCEBOT_VERSION = getEnv(process.env.NEXT_PUBLIC_SOURCEBOT_VERSION, "unknown")!; export const NEXT_PUBLIC_DOMAIN_SUB_PATH = getEnv(process.env.NEXT_PUBLIC_DOMAIN_SUB_PATH, "")!; +export const NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY = getEnv(process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY); \ No newline at end of file