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
# Dynamic build arguments for domain & full URL
ARG SITE_URL=https://riverrooks.dev
ARG SITE_DOMAIN=riverrooks.dev
ENV SITE_URL=$SITE_URL
# Dynamic build arguments for domain & full URL (required, no fallback)
ARG SITE_DOMAIN
ARG SITE_URL
ENV SITE_DOMAIN=$SITE_DOMAIN
ENV SITE_URL=$SITE_URL
# Copy dependency definitions and install
COPY package*.json ./
+4 -4
View File
@@ -6,14 +6,14 @@ services:
context: .
dockerfile: Dockerfile
args:
SITE_URL: ${SITE_URL:-https://riverrooks.dev}
SITE_DOMAIN: ${SITE_DOMAIN:-riverrooks.dev}
SITE_DOMAIN: ${SITE_DOMAIN:?Error: SITE_DOMAIN is not set. Please define SITE_DOMAIN in .env}
SITE_URL: ${SITE_URL:-https://${SITE_DOMAIN}}
image: river-rooks-blog:latest
container_name: river_rooks_web
restart: unless-stopped
environment:
- SITE_URL=${SITE_URL:-https://riverrooks.dev}
- SITE_DOMAIN=${SITE_DOMAIN:-riverrooks.dev}
- SITE_DOMAIN=${SITE_DOMAIN:?Error: SITE_DOMAIN is not set. Please define SITE_DOMAIN in .env}
- SITE_URL=${SITE_URL:-https://${SITE_DOMAIN}}
ports:
- "8080:80"
healthcheck:
+11 -1
View File
@@ -21,7 +21,17 @@ try {
// 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}`;
export default {