Configuration - green-ecolution/backend GitHub Wiki

The system's behavior can be customized through a configuration file or environment variables. Below is an overview of the key configuration options and their purpose. An example file can be found here. The enviroment variable are defined with the prefix GE an a seperator _. So the following value server.database.username will be translated into GE_SERVER_DATABASE_USERNAME.

Location of the configuration file

The configuration file must be placed in the config/ directory. The base name of the configuration file must be config.<env>.yaml. The application is loaded based on theENVenvironment variable. If theENVenvironment is set toENV=local, the system will look for a configuration file config/config.local.yaml. If the ENVenvironment variable isn't set, it defaults todevand looks for theconfig/config.dev.yaml configuration file on startup.

Dashboard Settings

Variable Description Example Value
dashboard.title Title displayed on the dashboard Green Ecolution Dashboard

Server Settings

Variable Description Example Value
server.port Port on which the backend runs 3000
server.development Enables development mode (true or false) false
server.app_url Base URL of the application http://localhost:3030
server.logs.level Logging level (info, debug, etc.) info
server.logs.format Log format (console, text or json) console

Database Settings

Variable Description Example Value
server.database.host Database host localhost
server.database.port Database port 5432
server.database.username Username for the database connection postgres
server.database.password Password for the database connection super_secret_password
server.database.name Name of the database green_ecolution_db

Authentication (OIDC)

Variable Description Example Value
auth.oidc_provider.enable Enables OIDC authentication `true
auth.oidc_provider.base_url Base URL of the OIDC provider https://auth.green-ecolution.de
auth.oidc_provider.domain_name OIDC domain name green-ecolution-dev
auth.oidc_provider.auth_url URL for user authentication https://auth.green-ecolution.de/realms/green-ecolution-dev/protocol/openid-connect/auth
auth.oidc_provider.token_url URL for token retrieval https://auth.green-ecolution.de/realms/green-ecolution-dev/protocol/openid-connect/token
auth.oidc_provider.public_key.static Static public key for authentication secret_secret_secret
auth.oidc_provider.frontend.client_id Client ID for the frontend green-ecolution-frontend
auth.oidc_provider.frontend.client_secret Client secret for the frontend secret_secret_secret
auth.oidc_provider.backend.client_id Client ID for the backend green-ecolution-backend
auth.oidc_provider.backend.client_secret Client secret for the backend secret_secret_secret

Routing Settings

Variable Description Example Value
routing.enable Enables routing functionality `true
routing.start_point Starting coordinates for route calculation [9.434764259345679, 54.768731253913806]
routing.end_point Ending coordinates for route calculation [9.434764259345679, 54.768731253913806]
routing.watering_point Watering point coordinates [9.434764259345679, 54.768731253913806]
routing.valhalla.host Valhalla routing service URL http://localhost:8002
routing.valhalla.optimization.vroom.host Vroom optimization service URL http://localhost:2525
routing.ors.host OpenRouteService URL http://localhost:8080/ors
routing.ors.optimization.vroom.host Vroom optimization service URL http://localhost:2525

S3 Storage Settings

Variable Description Example Value
s3.enable Enables S3 storage true
s3.endpoint S3 storage endpoint s3.green-ecolution.de
s3.region S3 region us-east-1
s3.use_ssl Enables SSL for S3 connection true
s3.route-gpx.bucket S3 bucket for route GPX files routes-gpx
s3.route-gpx.accessKey Access key for the bucket routes-gpx
s3.route-gpx.secretAccessKey Secret access key for the bucket secret_secret_secret

Map Settings

Variable Description Example Value
map.center Map center coordinates [54.792277136221905, 9.43580607453268]
map.bbox Map bounding box coordinates [54.751799,9.357298,54.837072,9.506812]

MQTT Settings

Variable Description Example Value
mqtt.enable Enables MQTT functionality true
mqtt.broker MQTT broker URL eu1.cloud.thethings.industries:1883
mqtt.client_id Client ID for MQTT tree-sensor
mqtt.username Username for MQTT authentication sgr-students@zde
mqtt.password Password for MQTT authentication secret_secret_secret
mqtt.topic MQTT topic to subscribe to v3/sgr-students@zde/devices/+/up
⚠️ **GitHub.com Fallback** ⚠️