Skip to main content

Manager endpoints and file paths


The OpenRemote Manager exposes the following endpoints:

  • / - Redirects to redirect path (set by ROOT_REDIRECT_PATH default: /manager)
  • /manager - Manager UI app (loaded from $APP_DOCROOT see paths below)
  • /console_loader - Loader UI app used by iOS and Android consoles (loaded from $APP_DOCROOT see paths below)
  • /swagger - Swagger UI app (loaded from $APP_DOCROOT see paths below)
  • /shared - Shared UI resources (fonts, locale files, map sprites, icons, etc.) (loaded from $APP_DOCROOT see paths below)
  • /api - HTTP API (see swagger endpoint for live documentation)
  • /auth - Keycloak reverse proxy endpoint
  • /websocket - WebSocket endpoint
  • /* - Any other path is resolved against $CUSTOM_APP_DOCROOT (see paths below)
  • /manager_config.json - File that is loaded by the Manager UI to apply custom configuration to the Manager UI (white labelling, menu config, etc.) (loaded from $CUSTOM_APP_DOCROOT) (see here for more details)
  • /locales - Path used by Manager UI to find custom i18n locale files, each locale should be in it's own directory with a file named app.json (e.g. /locales/en/app.json) (loaded from $CUSTOM_APP_DOCROOT)

App Realm

Generally applications are linked to a specific realm which cannot be changed but apps can support multiple realms (like the Manager UI), in this instance the app can either present a list of realms for the user to select and/or the app could support setting the realm via a query parameter; which is what the Manager UI currently does:

e.g. /manager/?realm=smartcity

File paths

The following list shows the file paths used by our Docker containers; these can be customised by changing environment variable values (where a file path is controlled by an environment variable) and/or by using volume mapping, this is how we provide customised instances of our system for specific projects. The default values shown below are the defaults as used by our Docker containers.


  • $OR_APP_DOCROOT - Location of well known UI apps and shared resources; Default: /opt/web
  • $OR_CUSTOM_APP_DOCROOT - Location used to load paths that aren't well known which allows custom web content to be served; Default: /deployment/manager/app
  • $OR_FIREBASE_CONFIG_FILE - Location of Firebase Cloud Messaging configuration file which allows push notification functionality /deployment/manager/fcm.json
  • $OR_KEYCLOAK_GRANT_FILE - Location of OAuth Grant in json representation which is used internally by the manager to communicate with Keycloak (in order to provision users, tenants, etc.); Default: /deployment/manager/keycloak.json
  • $OR_LOGGING_CONFIG_FILE - Path of custom JUL logging config file; Default: /deployment/manager/, falls back to built-in config if not specified or not found which can be found here.
  • $OR_MAP_TILES_PATH - Path of mbtiles map data file; Default: /deployment/map/mapdata.mbtiles, falls back to built-in map data (/opt/map/mapdata.mbtiles) if not specified or not found which can be found here
  • $OR_MAP_SETTINGS_PATH - Map settings path to json configuration for styling the map; Default: /deployment/map/mapsettings.json, falls back to built-in settings (/opt/map/mapsettings.json) if not specified or not found which can be found here
  • /deployment/manager/extensions - Location of custom java code that is added to the classpath of the manager during startup
  • $OR_PROVISIONING_DOCROOT - Location of provisioning directory which can contain the following sub-directories of json representations to be automatically provisioned into the manager during a clean install setup:
    • assets - Sorted alphabetically, each json file should contain exactly 1 asset in json representation
    • consoleappconfig- Each json file should contain exactly 1 ConsoleAppConfig in json representation