settings Configuration

Bimrocket server configuration is managed with the smallrye-config library that follows the microprofile-config specification. This library can obtain configuration parameters from multiple sources at the same time (environment variables, JVM properties, external files, etc.). By default, bimrocket defines these parameters in a yaml file like this:

# bimrocket-server config

# BIMROCKET_DATA_PATH is set by default to ${user.home}/bimrocket
# but can be changed via JVM property or environ variable.

# service config
services:

  # security service
  security:
    adminPassword: bimrocket
    passwordPattern: '^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=_\-\.])(?=\S+$).{8,}$'
    credentialsCacheTimeout: 300
    userCacheTimeout: 300
    roleCacheTimeout: 300
    tokenTimeout: 1800
    maxTokenAge: 28800
    cookie:
      secure: false
      httpOnly: true
      sameSite: STRICT
    store:
      class: org.bimrocket.service.security.store.orient.SecurityOrientDaoStore
      orient:
        database: bimdb
    ldap:
      enabled: false
      url: ldap://dc1.santfeliu.local
      domain: santfeliu.local
      searchBase: DC=santfeliu,DC=local
      adminUsername: admin
      adminPassword: changeit
    oauth2:
      active: []
      providers:
        valid:
          logoUrl: changeit
          baseUrl: https://valid-pre.aoc.cat
          authUrl: /o/oauth2/auth
          tokenUrl: /o/oauth2/token
          getUserInfoUrl: /serveis-rest/getUserInfo
          scope: autenticacio_usuari
          clientId: changeit
          secretId: changeit
          roles: []

  # file service
  file:
    folders:
      - models
      - scripts
      - reports
      - ifc_snapshots
      - tasks
    store:
      class: org.bimrocket.service.file.store.filesystem.FileSystemFileStore
      filesystem:
        directory: ${BIMROCKET_DATA_PATH}/cloudfs

  # bcf service
  bcf:
    templateProjectName: template
    mail:
      createTopic:
        subject: '#{project.name}##{index}: #{title} [#{priority}]'
        body: '#{description}'
    store:
      class: org.bimrocket.service.bcf.store.orient.BcfOrientDaoStore
      orient:
        database: bimdb

  # ifcdb service
  ifcdb:
    schemas:
      - IFC2X3
      - IFC4
    maxFileSizeMb: 200
    store:
      class: org.bimrocket.service.ifcdb.store.orient.OrientIfcStore

  # task service
  task:
    taskCacheSize: 10
    store:
      class: org.bimrocket.service.task.store.orient.TaskOrientDaoStore
      orient:
        database: bimdb

  # print service
  print:
    directory: ${BIMROCKET_DATA_PATH}/printsvc
    title: 'Bimrocket print'
    creator: 'Bimrocket PrintService'

  # mail service
  mail:
    enabled: false
    host: helios
    port: 25
    startTls: false
    auth: false
    username: none
    password: none
    from: 'admin@bimrocket.org'
    contentType: 'text/plain;charset=ISO-8859-1'

  # proxy service
  proxy:
    validUrls:
      - https://api.openai.com/
      - https://api.bsdd.buildingsmart.org/
    aliases:
      chatgpt:
        url: https://api.openai.com/v1/chat/completions
        ipFilter: ''
        authorization: changeit

# database config
databases:
  bimdb:
    url: embedded:${BIMROCKET_DATA_PATH}/db/bimdb
    username: root
    password: orientdb
  IFC2X3:
    url: embedded:${BIMROCKET_DATA_PATH}/db/IFC2X3
    username: root
    password: orientdb
  IFC4:
    url: embedded:${BIMROCKET_DATA_PATH}/db/IFC4
    username: root
    password: orientdb


During server startup, a yaml configuration file is created (if not exists) in this path: ${BIMROCKET_DATA_PATH}/bimrocket-server.yaml where ${BIMROCKET_DATA_PATH} points to ${user.home}/bimrocket by default. Edit this yaml file to change the parameters you need and restart the bimrocket server for the parameters to take effect.

The value of BIMROCKET_DATA_PATH can be changed via an environment variable or a JVM property:

In the default configuration, OrientDB embedded databases are created automaticaly in ${BIMROCKET_DATA_PATH}/db.
You can change the database urls in bimrocket-server.yaml file to create the databases in a remote OrientDB server.

The default password of the admin user is bimrocket. It can be changed through the services.security.adminPassword property of the bimrocket-server.yaml file.

Service configuration parameters

The following section describes the configuration parameters accepted by each service. These parameters can be modified directly in the bimrocket-server.yaml file or through any other mechanism provided by the smallrye config library (environment properties, JVM variables, etc.). In many cases, it is necessary to restart the services for configuration changes to take effect.

SecurityService 🔗

Service that manages user information and access roles.
Base path: services.security

FileService 🔗

Service that manages the storage of files and folders.
Base path: services.file

BcfService 🔗

Service that manages the storage of BCF issues.
Base path: services.bcf

IfcdbService 🔗

Service that manages the storage of IFC model objects in a database.
Base path: services.ifcdb

TaskService 🔗

Service that manages task execution on the server.
Base path: services.task

ProxyService 🔗

Service for accessing external URLs.
Base path: services.proxy

MailService 🔗

Service for sending email messages.
Base path: services.mail

PrintService 🔗

Service for generating PDF files with vector geometries.
Base path: services.print