Configuration
Learn how to configure LibreApps Desktop for your specific environment and brand.
Overview
LibreApps Desktop uses a combination of environment variables and a centralized rebranding file to manage its configuration.
Environment Variables
Copy .env.example to .env.local in the root directory and update the following variables:
Core Settings
NEXT_PUBLIC_APP_URL: The base URL of your application (e.g.,http://localhost:3000).NEXTAUTH_SECRET: A random string used to encrypt NextAuth.js sessions.
AI Integration
NEXT_PUBLIC_SMASH_API_URL: The URL of your Smash AI Chat backend.NEXT_PUBLIC_SMASH_WIDGET_ID: Your unique Smash widget identifier.
Authentication (Keycloak)
KEYCLOAK_CLIENT_ID: Your Keycloak client ID.KEYCLOAK_CLIENT_SECRET: Your Keycloak client secret.KEYCLOAK_ISSUER: The URL of your Keycloak realm.
Rebranding Configuration
The rebrand/settings.md file is used by the rebranding engine to customize the dashboard's appearance and identity.
Key Settings
- Project Name: The name of your application.
- Primary Color: The main brand color (HSL or OKLCH).
- Logo Path: Path to your brand's logo in
rebrand/assets/. - Enabled Widgets: A list of dashboard widgets to enable or disable.
Build Configuration
package.json
The root package.json manages the monorepo workspace and provides scripts for building and developing the entire project.
next.config.js
Located in build/web/full-kit/, this file contains Next.js-specific configurations like image domains and experimental features.
Best Practices
- ✅ Do this: Use
.env.localfor sensitive information and never commit it to Git. - ✅ Do this: Run
./scripts/build-rebrand.shafter making changes torebrand/settings.md. - ❌ Don't do this: Hardcode API keys or secrets directly in your components.