FROM node:22-slim AS build ENV PNPM_HOME=/pnpm ENV PATH=$PNPM_HOME:$PATH WORKDIR /app RUN corepack enable ARG INFISICAL_API_URL ARG INFISICAL_CLIENT_ID ARG INFISICAL_CLIENT_SECRET ARG INFISICAL_PROJECT_ID ARG INFISICAL_ENV ENV INFISICAL_API_URL=$INFISICAL_API_URL \ INFISICAL_CLIENT_ID=$INFISICAL_CLIENT_ID \ INFISICAL_CLIENT_SECRET=$INFISICAL_CLIENT_SECRET \ INFISICAL_PROJECT_ID=$INFISICAL_PROJECT_ID \ INFISICAL_ENV=$INFISICAL_ENV COPY package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile COPY . . RUN node scripts/load-secrets.mjs && . ./.env.infisical && pnpm run build FROM node:22-slim WORKDIR /app ENV NODE_ENV=production ENV PORT=3000 ENV HOST=0.0.0.0 COPY --from=build /app/.output ./.output COPY --from=build /app/public ./public COPY --from=build /app/scripts ./scripts COPY --from=build /app/node_modules ./node_modules COPY --from=build /app/package.json ./package.json EXPOSE 3000 CMD ["sh", "-c", "node scripts/load-secrets.mjs && . ./.env.infisical && node --import ./.output/server/sentry.server.config.mjs .output/server/index.mjs"]