Skip to main content

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.local for sensitive information and never commit it to Git.
  • ✅ Do this: Run ./scripts/build-rebrand.sh after making changes to rebrand/settings.md.
  • ❌ Don't do this: Hardcode API keys or secrets directly in your components.