Skip to main content

Configuration layers

MUZE configuration is layered across three levels: The complete variable reference is in Environment variables.

Backend configuration

The backend uses @nestjs/config with a global module and validates every environment variable at startup with Zod. If a required variable is missing or invalid, the application refuses to start, which prevents silent misconfiguration in production. All configuration is accessed via ConfigService:
Key configuration areas:

Frontend configuration

The frontend uses Vite’s environment system. Only variables prefixed with VITE_ are exposed to the client bundle:

Runtime settings

System-wide settings (order number prefixes, approval defaults, notification toggles) are stored in the SystemSetting table and edited by admins in the portal. They are runtime configuration, not environment variables.

Feature flags

MUZE does not currently use feature flags. All features are available based on role.

Deployment configuration

Deployment config lives in backend/render.yaml (Render service definition) and frontend/firebase.json (hosting rewrites and headers). Both are documented in Deployment.