build(compose): pass optional VITE_* through only when set

The Vite dev server (docker-compose.yaml's dev target) lets an empty process
variable override .env.development, so listing every VITE_* as ${VAR:-}
wiped the banner and Google client id defaults. A bare name in the
environment list reaches the container only when the variable is set in the
shell or the --env-file; unset ones are omitted. Applied to all four compose
files.
This commit is contained in:
Alex committed 2026-09-06 22:03:23 +01:00
1 parent 6860a21541
commit 9a67801515
4 files changed
+52 -48

No files matched your search

+13 -12
View File
@@ -4,20 +4,21 @@ services:
context: ../frontend
target: dev
environment:
# Every VITE_* the app reads, taken from .env (or the shell); empty ones
# leave the image's build-time default in place.
# Every VITE_* the app reads. A bare name is passed through only when it is
# set in the shell or the --env-file, so an unset one does not reach the
# container as an empty string and override the image's own default.
- VITE_API_HOST=http://localhost:7091
- VITE_API_STREAMING=${VITE_API_STREAMING:-true}
- VITE_BASE_URL=${VITE_BASE_URL:-}
- VITE_GOOGLE_CLIENT_ID=${VITE_GOOGLE_CLIENT_ID:-}
- VITE_GOOGLE_PICKER_API_KEY=${VITE_GOOGLE_PICKER_API_KEY:-}
- VITE_SHARE_POINT_CLIENT_ID=${VITE_SHARE_POINT_CLIENT_ID:-}
- VITE_CONFLUENCE_CLIENT_ID=${VITE_CONFLUENCE_CLIENT_ID:-}
- VITE_NOTIFICATION_TEXT=${VITE_NOTIFICATION_TEXT:-}
- VITE_NOTIFICATION_LINK=${VITE_NOTIFICATION_LINK:-}
- VITE_ENABLE_VOICE_INPUT=${VITE_ENABLE_VOICE_INPUT:-}
- VITE_DISABLE_SOURCE_FE=${VITE_DISABLE_SOURCE_FE:-}
- VITE_USE_V=${VITE_USE_V:-}
- VITE_BASE_URL
- VITE_GOOGLE_CLIENT_ID
- VITE_GOOGLE_PICKER_API_KEY
- VITE_SHARE_POINT_CLIENT_ID
- VITE_CONFLUENCE_CLIENT_ID
- VITE_NOTIFICATION_TEXT
- VITE_NOTIFICATION_LINK
- VITE_ENABLE_VOICE_INPUT
- VITE_DISABLE_SOURCE_FE
- VITE_USE_V
ports:
- "5173:5173"
depends_on:
+13 -12
View File
@@ -10,20 +10,21 @@ services:
frontend:
image: arc53/docsgpt-fe:${DOCSGPT_IMAGE_TAG:-develop}
environment:
# Every VITE_* the app reads, taken from .env (or the shell); empty ones
# leave the image's build-time default in place.
# Every VITE_* the app reads. A bare name is passed through only when it is
# set in the shell or the --env-file, so an unset one does not reach the
# container as an empty string and override the image's own default.
- VITE_API_HOST=http://localhost:7091
- VITE_API_STREAMING=${VITE_API_STREAMING:-true}
- VITE_BASE_URL=${VITE_BASE_URL:-}
- VITE_GOOGLE_CLIENT_ID=${VITE_GOOGLE_CLIENT_ID:-}
- VITE_GOOGLE_PICKER_API_KEY=${VITE_GOOGLE_PICKER_API_KEY:-}
- VITE_SHARE_POINT_CLIENT_ID=${VITE_SHARE_POINT_CLIENT_ID:-}
- VITE_CONFLUENCE_CLIENT_ID=${VITE_CONFLUENCE_CLIENT_ID:-}
- VITE_NOTIFICATION_TEXT=${VITE_NOTIFICATION_TEXT:-}
- VITE_NOTIFICATION_LINK=${VITE_NOTIFICATION_LINK:-}
- VITE_ENABLE_VOICE_INPUT=${VITE_ENABLE_VOICE_INPUT:-}
- VITE_DISABLE_SOURCE_FE=${VITE_DISABLE_SOURCE_FE:-}
- VITE_USE_V=${VITE_USE_V:-}
- VITE_BASE_URL
- VITE_GOOGLE_CLIENT_ID
- VITE_GOOGLE_PICKER_API_KEY
- VITE_SHARE_POINT_CLIENT_ID
- VITE_CONFLUENCE_CLIENT_ID
- VITE_NOTIFICATION_TEXT
- VITE_NOTIFICATION_LINK
- VITE_ENABLE_VOICE_INPUT
- VITE_DISABLE_SOURCE_FE
- VITE_USE_V
ports:
- "5173:5173"
depends_on:
+13 -12
View File
@@ -29,20 +29,21 @@ services:
- path: .env
required: false
environment:
# Every VITE_* the app reads, taken from .env (or the shell); empty ones
# leave the image's build-time default in place.
# Every VITE_* the app reads. A bare name is passed through only when it is
# set in the shell or the --env-file, so an unset one does not reach the
# container as an empty string and override the image's own default.
- VITE_API_HOST=${VITE_API_HOST:-http://localhost:7091}
- VITE_API_STREAMING=${VITE_API_STREAMING:-true}
- VITE_BASE_URL=${VITE_BASE_URL:-}
- VITE_GOOGLE_CLIENT_ID=${VITE_GOOGLE_CLIENT_ID:-}
- VITE_GOOGLE_PICKER_API_KEY=${VITE_GOOGLE_PICKER_API_KEY:-}
- VITE_SHARE_POINT_CLIENT_ID=${VITE_SHARE_POINT_CLIENT_ID:-}
- VITE_CONFLUENCE_CLIENT_ID=${VITE_CONFLUENCE_CLIENT_ID:-}
- VITE_NOTIFICATION_TEXT=${VITE_NOTIFICATION_TEXT:-}
- VITE_NOTIFICATION_LINK=${VITE_NOTIFICATION_LINK:-}
- VITE_ENABLE_VOICE_INPUT=${VITE_ENABLE_VOICE_INPUT:-}
- VITE_DISABLE_SOURCE_FE=${VITE_DISABLE_SOURCE_FE:-}
- VITE_USE_V=${VITE_USE_V:-}
- VITE_BASE_URL
- VITE_GOOGLE_CLIENT_ID
- VITE_GOOGLE_PICKER_API_KEY
- VITE_SHARE_POINT_CLIENT_ID
- VITE_CONFLUENCE_CLIENT_ID
- VITE_NOTIFICATION_TEXT
- VITE_NOTIFICATION_LINK
- VITE_ENABLE_VOICE_INPUT
- VITE_DISABLE_SOURCE_FE
- VITE_USE_V
ports:
- "5173:5173"
depends_on:
+13 -12
View File
@@ -9,20 +9,21 @@ services:
volumes:
- ../frontend/src:/app/src
environment:
# Every VITE_* the app reads, taken from .env (or the shell); empty ones
# leave the image's build-time default in place.
# Every VITE_* the app reads. A bare name is passed through only when it is
# set in the shell or the --env-file, so an unset one does not reach the
# container as an empty string and override the image's own default.
- VITE_API_HOST=http://localhost:7091
- VITE_API_STREAMING=${VITE_API_STREAMING:-true}
- VITE_BASE_URL=${VITE_BASE_URL:-}
- VITE_GOOGLE_CLIENT_ID=${VITE_GOOGLE_CLIENT_ID:-}
- VITE_GOOGLE_PICKER_API_KEY=${VITE_GOOGLE_PICKER_API_KEY:-}
- VITE_SHARE_POINT_CLIENT_ID=${VITE_SHARE_POINT_CLIENT_ID:-}
- VITE_CONFLUENCE_CLIENT_ID=${VITE_CONFLUENCE_CLIENT_ID:-}
- VITE_NOTIFICATION_TEXT=${VITE_NOTIFICATION_TEXT:-}
- VITE_NOTIFICATION_LINK=${VITE_NOTIFICATION_LINK:-}
- VITE_ENABLE_VOICE_INPUT=${VITE_ENABLE_VOICE_INPUT:-}
- VITE_DISABLE_SOURCE_FE=${VITE_DISABLE_SOURCE_FE:-}
- VITE_USE_V=${VITE_USE_V:-}
- VITE_BASE_URL
- VITE_GOOGLE_CLIENT_ID
- VITE_GOOGLE_PICKER_API_KEY
- VITE_SHARE_POINT_CLIENT_ID
- VITE_CONFLUENCE_CLIENT_ID
- VITE_NOTIFICATION_TEXT
- VITE_NOTIFICATION_LINK
- VITE_ENABLE_VOICE_INPUT
- VITE_DISABLE_SOURCE_FE
- VITE_USE_V
ports:
- "5173:5173"
depends_on: