What features would you like to see added?
Support for passing build metadata (git commit SHA, branch name) into the Docker image at build time, so self-hosted deployments can identify which exact version is running.
Flow
┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────┐
│ CI/CD │ │ Dockerfile │ │ Vite Build │ │ UI │
│ │─────▶│ │─────▶│ │─────▶│ │
│ --build-arg │ │ ARG → ENV │ │ VITE_* vars │ │ footer / │
│ VITE_BUILD_ │ │ during │ │ baked into │ │ settings │
│ COMMIT=abc │ │ npm run │ │ JS bundle │ │ /version │
│ BRANCH=main │ │ frontend │ │ at compile │ │ endpoint │
└─────────────┘ └──────────────┘ └─────────────┘ └──────────┘
More details
Use case: Self-hosted instances across multiple environments (dev/staging/prod). After deployment, operators need to verify which commit is actually running — for debugging, release verification, etc.
CUSTOM_FOOTER partially covers this, but it's a runtime env var decoupled from the image — if someone swaps the image without updating the var, the info becomes misleading.
Build-time injection solves this: metadata is compiled into the JS bundle, so every image is self-describing.
Prior art: GitLab, Grafana, Mattermost all expose build metadata in self-hosted instances.
Suggested change: Add optional ARGs to the Dockerfile (similar to existing NODE_MAX_OLD_SPACE_SIZE) that Vite picks up via its VITE_ env prefix. When args are not provided — no change in behavior.
Which components are impacted?
General, UI
What features would you like to see added?
Support for passing build metadata (git commit SHA, branch name) into the Docker image at build time, so self-hosted deployments can identify which exact version is running.
Flow
More details
Use case: Self-hosted instances across multiple environments (dev/staging/prod). After deployment, operators need to verify which commit is actually running — for debugging, release verification, etc.
CUSTOM_FOOTERpartially covers this, but it's a runtime env var decoupled from the image — if someone swaps the image without updating the var, the info becomes misleading.Build-time injection solves this: metadata is compiled into the JS bundle, so every image is self-describing.
Prior art: GitLab, Grafana, Mattermost all expose build metadata in self-hosted instances.
Suggested change: Add optional
ARGs to the Dockerfile (similar to existingNODE_MAX_OLD_SPACE_SIZE) that Vite picks up via itsVITE_env prefix. When args are not provided — no change in behavior.Which components are impacted?
General, UI