settings Configuració

La configuració del servidor Bimrocket es gestiona amb la llibreria smallrye-config, que segueix l’especificació microprofile-config. Aquesta llibreria pot obtenir paràmetres de configuració de múltiples fonts al mateix temps (variables d'entorn, propietats de la JVM, fitxers externs, etc.). Per defecte, Bimrocket defineix aquests paràmetres en un fitxer YAML com aquest:

# bimrocket-server config

# service config
services:

  # security service
  security:
    adminPassword: bimrocket
    passwordPattern: '^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=_\-\.])(?=\S+$).{8,}$'
    authorizationCacheTimeout: 300
    userCacheTimeout: 300
    roleCacheTimeout: 300
    ldap:
      enabled: false
      url: ldap://dc1.santfeliu.local
      domain: santfeliu.local
      searchBase: DC=santfeliu,DC=local
      adminUsername: admin
      adminPassword: changeit
    store:
      class: org.bimrocket.service.security.store.orient.SecurityOrientDaoStore
      orient:
        database: bimdb

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

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

  # 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

Durant l’inici del servidor, es crea (si no existeix) un fitxer de configuració YAML en aquesta ruta: ${BIMROCKET_DATA_PATH}/bimrocket-server.yaml, on ${BIMROCKET_DATA_PATH} apunta per defecte a ${user.home}/bimrocket. Edita aquest fitxer YAML per canviar els paràmetres que necessitis i reinicia el servidor Bimrocket perquè els canvis tinguin efecte.

El valor de BIMROCKET_DATA_PATH es pot modificar mitjançant una variable d'entorn o una propietat de la JVM:

En la configuració per defecte, Bimrocket crea automàticament bases de dades incrustades d’OrientDB en la ruta ${BIMROCKET_DATA_PATH}/db. Pots canviar les URL de les bases de dades al fitxer bimrocket-server.yaml per crear-les en un servidor remot d’OrientDB.

La contrasenya per defecte de l’usuari admin és bimrocket. Aquesta es pot canviar mitjançant la propietat services.security.adminPassword del fitxer bimrocket-server.yaml.

Paràmetres de configuració dels serveis

A continuació es descriuen els paràmetres de configuració que accepta cada servei. Aquests paràmetres es poden modificar directament al fitxer bimrocket-server.yaml o bé mitjançant qualsevol altre mecanisme previst per la llibreria smallrye config (propietats d’entorn, variables de la JVM, etc.). En molts casos, és necessari reiniciar els serveis perquè els canvis de configuració tinguin efecte.

SecurityService 🔗

Servei que gestiona la informació dels usuaris i els rols d’accés.
Ruta base: services.security

FileService 🔗

Servei que gestiona l’emmagatzematge de fitxers i carpetes.
Ruta base: services.file

BcfService 🔗

Servei que gestiona l’emmagatzematge d’incidències BCF.
Ruta base: services.bcf

IfcdbService 🔗

Servei que gestiona l’emmagatzematge d’objectes d’un model IFC en una base de dades.
Ruta base: services.ifcdb

TaskService 🔗

Servei que gestiona l’execució de tasques al servidor.
Ruta base: services.task

ProxyService 🔗

Servei per accedir a URL externes.
Ruta base: services.proxy

MailService 🔗

Servei per enviar correus electrònics.
Ruta base: services.mail

PrintService 🔗

Servei per generar fitxers PDF amb geometries vectorials.
Ruta base: services.print