feat(docker): add BACKEND_API_BASE_URL support for build-time routing
- Introduced ARG and ENV for BACKEND_API_BASE_URL in Dockerfile to ensure the correct API base URL is available during the build process. - Updated next.config.mjs to include a warning about the implications of setting BACKEND_API_BASE_URL in the environment file, emphasizing its impact on multi-domain routing.
This commit is contained in:
@@ -11,6 +11,12 @@ COPY package.json pnpm-lock.yaml ./
|
|||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
|
# next.config.mjs evaluates rewrites() at build time, so the optional
|
||||||
|
# BACKEND_API_BASE_URL override must be available here to be baked into the
|
||||||
|
# routes manifest. Left unset, the host-based routing (opplens.com vs
|
||||||
|
# opplenz.com) applies and no env is needed.
|
||||||
|
ARG BACKEND_API_BASE_URL
|
||||||
|
ENV BACKEND_API_BASE_URL=${BACKEND_API_BASE_URL}
|
||||||
COPY --from=deps /app/node_modules ./node_modules
|
COPY --from=deps /app/node_modules ./node_modules
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN pnpm run build
|
RUN pnpm run build
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ const nextConfig = {
|
|||||||
// Routing is host-based so neither deploy needs a custom env. A
|
// Routing is host-based so neither deploy needs a custom env. A
|
||||||
// `BACKEND_API_BASE_URL` env var (if set) overrides both — handy for local
|
// `BACKEND_API_BASE_URL` env var (if set) overrides both — handy for local
|
||||||
// dev pointing at e.g. http://localhost:8080/admin/v1.
|
// dev pointing at e.g. http://localhost:8080/admin/v1.
|
||||||
|
//! ⚠️ IMPORTANT: Adding BACKEND_API_BASE_URL to env file will break the multi-domain feature.
|
||||||
const override = process.env.BACKEND_API_BASE_URL;
|
const override = process.env.BACKEND_API_BASE_URL;
|
||||||
if (override) {
|
if (override) {
|
||||||
return [
|
return [
|
||||||
|
|||||||
Reference in New Issue
Block a user