diff --git a/Dockerfile b/Dockerfile index 2ce8712..01e8a85 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,6 @@ FROM node:16 as builder WORKDIR /calcom -ARG NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000 -ARG NEXT_PUBLIC_APP_URL ARG NEXT_PUBLIC_LICENSE_CONSENT ARG CALCOM_TELEMETRY_DISABLED ARG DATABASE_URL @@ -10,8 +8,9 @@ ARG NEXTAUTH_SECRET=secret ARG CALENDSO_ENCRYPTION_KEY=secret ARG MAX_OLD_SPACE_SIZE=4096 -ENV NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL \ - NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL \ +# PLACEHOLDER value is compiled in during build, but will be replaced it at runtime +# see: scripts/replace-placeholders.sh +ENV NEXT_PUBLIC_WEBAPP_URL=https://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER \ NEXT_PUBLIC_LICENSE_CONSENT=$NEXT_PUBLIC_LICENSE_CONSENT \ CALCOM_TELEMETRY_DISABLED=$CALCOM_TELEMETRY_DISABLED \ DATABASE_URL=$DATABASE_URL \ diff --git a/scripts/replace-placeholders.sh b/scripts/replace-placeholders.sh new file mode 100755 index 0000000..272b4d0 --- /dev/null +++ b/scripts/replace-placeholders.sh @@ -0,0 +1,5 @@ +# Find and replace placeholder values with runtime-specific environment values +find apps/web/.next/ apps/web/public -type f | +while read file; do + sed -i "s|https://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER|$NEXT_PUBLIC_WEBAPP_URL|g" "$file" +done diff --git a/scripts/start.sh b/scripts/start.sh index a70f1f2..52e818c 100755 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -1,6 +1,7 @@ #!/bin/sh set -x +scripts/replace-placeholders.sh scripts/wait-for-it.sh ${DATABASE_HOST} -- echo "database is up" npx prisma migrate deploy --schema /calcom/packages/prisma/schema.prisma npx ts-node --transpile-only /calcom/packages/prisma/seed-app-store.ts