Skip to main content

Gateway Configuration Reference

A complete guide to the configuration properties of the LibreApps Gateway.

Overview​

The LibreApps Gateway is configured via environment variables in the .env file and YAML configuration files for APISIX.

Environment Variables (.env)​

VariableDescriptionDefault
APISIX_ADMIN_KEYKey for accessing the APISIX Admin APIeddiface
KEYCLOAK_ADMIN_PASSWORDPassword for the Keycloak admin user-
LITELLM_MASTER_KEYMaster key for the LiteLLM API-
POSTGRES_PASSWORDPassword for the platform database-

APISIX Configuration​

The main APISIX configuration is located at config/apisix/config.yaml. This file defines the gateway's core behavior, including:

  • etcd endpoints: Where APISIX stores its routing data.
  • Admin API settings: Port and security for the configuration API.
  • Plugin settings: Global configuration for enabled plugins.

Dashboard Configuration​

The APISIX Dashboard is configured via config/apisix-dashboard/conf.yaml. It includes settings for:

  • Authentication: Usernames and passwords for the dashboard UI.
  • etcd connection: How the dashboard communicates with the config store.

Best Practices​

  • ✅ Do this: Use the generate-secrets.sh script to populate your .env file with secure values.
  • ✅ Do this: Keep your config.yaml files in version control, but exclude the .env file.
  • ❌ Don't do this: Hardcode API keys or passwords in the YAML configuration files.

Best Practices​

  • ✅ Do this: Use profiles (e.g., application-dev.yml, application-prod.yml) to manage different configurations for different environments.
  • ✅ Do this: Keep sensitive information like client secrets in environment variables or a secure vault.
  • ❌ Don't do this: Commit application.yml files containing production secrets to your version control system.