settings Configuración

La configuración del servidor Bimrocket se gestiona con la librería smallrye-config que sigue la especificación microprofile-config. Esta librería puede obtener parámetros de configuración desde múltiples fuentes al mismo tiempo (variables de entorno, propiedades de la JVM, ficheros externos, etc.). Por defecto, Bimrocket define estos parámetros en un archivo YAML como este:

# 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


Configuración inicial

Durante el arranque del servidor, se crea un archivo de configuración YAML (si no existe) en esta ruta: ${BIMROCKET_DATA_PATH}/bimrocket-server.yaml donde ${BIMROCKET_DATA_PATH} apunta por defecto a ${user.home}/bimrocket. Edita este archivo YAML para cambiar los parámetros que necesites y reinicia el servidor Bimrocket para que los cambios tengan efecto.

El valor de BIMROCKET_DATA_PATH se puede cambiar mediante una variable de entorno o una propiedad de la JVM:

En la configuración por defecto, Bimrocket crea automáticamente bases de datos embebidas de OrientDB en la ruta ${BIMROCKET_DATA_PATH}/db. Puedes cambiar las URLs de las bases de datos en el archivo bimrocket-server.yaml para crearlas en un servidor OrientDB remoto.

La contraseña por defecto del usuario admin es bimrocket. Se puede cambiar mediante la propiedad services.security.adminPassword del archivo bimrocket-server.yaml.

Parámetros de configuración de los servicios

A continuación se describen los parámetros de configuración que acepta cada servicio. Estos parámetros pueden modificarse directamente en el fichero bimrocket-server.yaml o bien mediante cualquier otro mecanismo previsto por la libreria smallrye config (propiedades de entorno, variables de la JVM, etc...). En muchos casos, es necesario reiniciar los servicios para que los cambios de la configuración tengan efecto.

SecurityService 🔗

Servicio que gestiona la información de los usuarios y los roles de acceso.
Ruta base: services.security

FileService 🔗

Servicio que gestiona el almacenamiento de ficheros y carpetas.
Ruta base: services.file

BcfService 🔗

Servicio que gestiona el almacenamiento de incidencias BCF.
Ruta base: services.bcf

IfcdbService 🔗

Servicio que gestiona el almacenamiento de objetos de un modelo IFC en una base de datos.
Ruta base: services.ifcdb

TaskService 🔗

Servicio que gestiona la ejecución de tareas en el servidor.
Ruta base: services.task

ProxyService 🔗

Servicio para acceder a URL externas.
Ruta base: services.proxy

MailService 🔗

Servicio para enviar correos electrónicos.
Ruta base: services.mail

PrintService 🔗

Servicio para generar ficheros PDF con geometrias vectoriales.
Ruta base: services.print