FROM --platform=$BUILDPLATFORM node:20-alpine AS build WORKDIR /app ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN npm i -g corepack@latest RUN corepack enable RUN corepack prepare pnpm@10.0.0 --activate ADD ./package.json /app/package.json ADD ./pnpm-lock.yaml /app/pnpm-lock.yaml RUN pnpm install --frozen-lockfile ADD ./build.js /app/build.js ADD ./tsconfig.json /app/tsconfig.json ADD ./svelte.config.js /app/svelte.config.js ADD ./vite.config.ts /app/vite.config.ts ADD ./src /app/src ADD ./static /app/static ARG PUBLIC_IMAGINE_CDN_URL ARG PUBLIC_CONSOLE_MODE ARG PUBLIC_CONSOLE_PROFILE ARG PUBLIC_AI_SERVICE_BASE_URL ARG PUBLIC_API_BASE_URL ARG PUBLIC_REALTIME_URI ARG PUBLIC_CONSOLE_FEATURE_FLAGS ARG PUBLIC_APPWRITE_MULTI_REGION ARG PUBLIC_CONSOLE_EMAIL_VERIFICATION ARG PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS ARG PUBLIC_APPWRITE_ENDPOINT ARG PUBLIC_GROWTH_ENDPOINT ARG PUBLIC_STRIPE_KEY ARG PUBLIC_SENTRY_DSN ARG PUBLIC_SENTRY_INCLUDE_PII ARG PUBLIC_SENTRY_ENVIRONMENT ARG PUBLIC_SENTRY_TRACES_SAMPLE_RATE ARG PUBLIC_SENTRY_REPLAY_SAMPLE_RATE ARG PUBLIC_SENTRY_DEBUG ARG SENTRY_AUTH_TOKEN ARG SENTRY_RELEASE ENV PUBLIC_APPWRITE_ENDPOINT=$PUBLIC_APPWRITE_ENDPOINT ENV PUBLIC_GROWTH_ENDPOINT=$PUBLIC_GROWTH_ENDPOINT ENV PUBLIC_CONSOLE_MODE=$PUBLIC_CONSOLE_MODE ENV PUBLIC_CONSOLE_PROFILE=$PUBLIC_CONSOLE_PROFILE ENV PUBLIC_AI_SERVICE_BASE_URL=$PUBLIC_AI_SERVICE_BASE_URL ENV PUBLIC_REALTIME_URI=$PUBLIC_REALTIME_URI ENV PUBLIC_CONSOLE_FEATURE_FLAGS=$PUBLIC_CONSOLE_FEATURE_FLAGS ENV PUBLIC_APPWRITE_MULTI_REGION=$PUBLIC_APPWRITE_MULTI_REGION ENV PUBLIC_CONSOLE_EMAIL_VERIFICATION=$PUBLIC_CONSOLE_EMAIL_VERIFICATION ENV PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=$PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS ENV PUBLIC_STRIPE_KEY=$PUBLIC_STRIPE_KEY ENV PUBLIC_SENTRY_DSN=$PUBLIC_SENTRY_DSN ENV PUBLIC_SENTRY_INCLUDE_PII=$PUBLIC_SENTRY_INCLUDE_PII ENV PUBLIC_SENTRY_ENVIRONMENT=$PUBLIC_SENTRY_ENVIRONMENT ENV PUBLIC_SENTRY_TRACES_SAMPLE_RATE=$PUBLIC_SENTRY_TRACES_SAMPLE_RATE ENV PUBLIC_SENTRY_REPLAY_SAMPLE_RATE=$PUBLIC_SENTRY_REPLAY_SAMPLE_RATE ENV PUBLIC_SENTRY_DEBUG=$PUBLIC_SENTRY_DEBUG ENV SENTRY_AUTH_TOKEN=$SENTRY_AUTH_TOKEN ENV SENTRY_RELEASE=$SENTRY_RELEASE ENV PUBLIC_IMAGINE_CDN_URL=$PUBLIC_IMAGINE_CDN_URL ENV NODE_OPTIONS=--max_old_space_size=8192 RUN pnpm run build FROM nginx:1.26.3-alpine EXPOSE 80 COPY docker/nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/build /usr/share/nginx/html/console # feat-profiles RUN mkdir -p /app COPY docker/generate-env.sh /app/generate-env.sh RUN chmod +x /app/generate-env.sh