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.