Zum Hauptinhalt springen

Configuration

The configuration of HuddleUp is achieved through environment variables and configuration files. They are separated between the client and the frontend application.

External services#

HuddleUp depends on two external services: A provider for the video conference functionality, and an identity provider which is used for user authentication.

Video conference provider#

See section Conference Providers

Identity provider#

HuddleUp supports any service that supports OpenID Connect (OIDC). A commonly used provider is Google. If you want more control, you can use a service like Auth0 which provides a free offer that should be enough for the expected user count of a HuddleUp installation.

Translations#

HuddleUp can support multiple languages. You can configure which language should be the default and which additional languages should be supported. The currently available languages and their language codes are:

  • English (en)
  • Deutsch (de)

Predefined Tags#

To give users guidance on topics, you can configure HuddleUp to create a set of predefined tags. These tags can be defined in a tags.json file in the config/api folder. On startup, HuddleUp will create any tag that is defined in this file. There is an example file located there which you can copy, or you can create a new file. It should follow the following structure:

config/api/tags.json
{
"tags": [
"Your tag #1",
"Another tag",
// ...
]
}

Reference#

Client Configuration#

The configuration for the client should be placed as a .env file in the config/client folder. There is an .env.example file available for reference. Below is a list of available variables.

VariableDescriptionDefault Value
Base options
REACT_APP_HOSTRequired. The base URL of the client (e.g. https://huddle.huddle-up.org)--
REACT_APP_API_URIRequired. The base URL of the backend (e.g. https://api.huddle.huddle-up.org)--
Translations
REACT_APP_I18N_DEFAULT_LOCALEThe default language used, specified with the language code (e.g. de)en
REACT_APP_I18N_AVAILABLE_LOCALESAll languages used, specified as a comma-separated list (e.g. "de,en"). This must include the default language."en"
OpenID Connect
REACT_APP_OIDC_CLIENT_IDRequired. The id of your OIDC client.--
REACT_APP_OIDC_CLIENT_SECRETRequired. The secret of your OIDC client.--
REACT_APP_OIDC_ISSUERRequired. The domain of the issuer (e.g. huddle-up.eu.auth0.com)--
REACT_APP_OIDC_REDIRECT_URIRequired. The URL where the Identity Provider should redirect users to on successfull login. This should always include the path /login/callback (e.g. https://huddle.huddle-up.org/login/callback)--
REACT_APP_OIDC_SCOPEThe scope requested from the OIDC provider. If specified, it must at least include openid email profileopenid email profile
REACT_APP_OIDC_PROVIDER_NAMERequired. The name used to display to the user at login. This will be used in a sentence like 'Login with NAME'--
REACT_APP_OIDC_PROVIDER_ICONThe icon used to display at login. Can be one of the following values: email, facebook, github and account.account
Meetings
REACT_APP_RULES_MAXIMUM_PARTICIPANTSThe default value for the maximum amount of users in a meeting.10

Backend Configuration#

The configuration for the backend should be placed as a .env file in the config/api folder. There is an .env.example file available for reference. Below is a list of available variables.

For video conference provider specific variables, see the provider section

VariableDescriptionDefault Value
Base options
HU_PORTThe port that the backend should listen on.4000
HU_LOG_DIRThe location where errors should be logged to. If you specify a custom log directory, make sure it exists and is writeable by the system user running the backend.appdirectory/logs
Database
HU_DB_USERNAMERequired. The database username--
HU_DB_PASSWORDRequired. The password of the database user--
HU_DB_DATABASERequired. The name of the database--
HU_DB_HOSTRequired. The hostname of the database--
HU_DB_PORTRequired. The port of the database--
HU_DB_SYNCHRONIZEWhether the database should be synchronized automatically instead of migrations. Important: This option should only be used during development and not in production.false
Authentication
HU_AUTH_SECRETRequired. The secret used to sign the internal JWT tokens. Make sure the secret is complex enough.--
HU_AUTH_OIDC_ISSUER_DOMAINRequired. The domain of the OIDC issuer (e.g. huddle-up.eu.auth0.com). This is required to verify identity tokens.--
HU_AUTH_OIDC_AUDIENCERequired. This identical to the REACT_APP_OIDC_CLIENT_ID of the frontend and required to verify identity tokens.--
Meetings
HU_MEETINGS_PREPARATION_TIMEThe number of minutes before a meeting starts, that the host is allowed to create the conference.10