feat: throw explicit error when SITE_DOMAIN is unset

- Throw fatal configuration error in src/_data/site.js if SITE_DOMAIN is missing
- Require SITE_DOMAIN in docker-compose.yml without default fallback
- Require SITE_DOMAIN ARG in Dockerfile with no default fallback
This commit is contained in:
venus
2026-09-13 01:11:28 -05:00
parent 1491d3fa5c
commit fc6c17b541
3 changed files with 19 additions and 9 deletions
+4 -4
View File
@@ -3,11 +3,11 @@ FROM node:22-alpine AS builder
WORKDIR /app WORKDIR /app
# Dynamic build arguments for domain & full URL # Dynamic build arguments for domain & full URL (required, no fallback)
ARG SITE_URL=https://riverrooks.dev ARG SITE_DOMAIN
ARG SITE_DOMAIN=riverrooks.dev ARG SITE_URL
ENV SITE_URL=$SITE_URL
ENV SITE_DOMAIN=$SITE_DOMAIN ENV SITE_DOMAIN=$SITE_DOMAIN
ENV SITE_URL=$SITE_URL
# Copy dependency definitions and install # Copy dependency definitions and install
COPY package*.json ./ COPY package*.json ./
+4 -4
View File
@@ -6,14 +6,14 @@ services:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
args: args:
SITE_URL: ${SITE_URL:-https://riverrooks.dev} SITE_DOMAIN: ${SITE_DOMAIN:?Error: SITE_DOMAIN is not set. Please define SITE_DOMAIN in .env}
SITE_DOMAIN: ${SITE_DOMAIN:-riverrooks.dev} SITE_URL: ${SITE_URL:-https://${SITE_DOMAIN}}
image: river-rooks-blog:latest image: river-rooks-blog:latest
container_name: river_rooks_web container_name: river_rooks_web
restart: unless-stopped restart: unless-stopped
environment: environment:
- SITE_URL=${SITE_URL:-https://riverrooks.dev} - SITE_DOMAIN=${SITE_DOMAIN:?Error: SITE_DOMAIN is not set. Please define SITE_DOMAIN in .env}
- SITE_DOMAIN=${SITE_DOMAIN:-riverrooks.dev} - SITE_URL=${SITE_URL:-https://${SITE_DOMAIN}}
ports: ports:
- "8080:80" - "8080:80"
healthcheck: healthcheck:
+11 -1
View File
@@ -21,7 +21,17 @@ try {
// Silent fallback // Silent fallback
} }
const siteDomain = process.env.SITE_DOMAIN || "riverrooks.dev"; const siteDomain = process.env.SITE_DOMAIN;
if (!siteDomain) {
throw new Error(
"\n=======================================================================\n" +
"FATAL CONFIGURATION ERROR: SITE_DOMAIN environment variable is not set.\n" +
"The site domain must be explicitly defined in your .env file or environment.\n" +
"Example in .env:\n" +
" SITE_DOMAIN=riverrooks.dev\n" +
"=======================================================================\n"
);
}
const siteUrl = process.env.SITE_URL || `https://${siteDomain}`; const siteUrl = process.env.SITE_URL || `https://${siteDomain}`;
export default { export default {