Configuration - Console

This page describes the configuration of the Console module of the Datachain solution.

Images can be configured via docker *.env files or environment variables.

The images run without root privileges for the application and are compatible with OpenShift: see Running without privileges (OpenShift).

Console module - Image dc/console

Image description

Description

Contains the console module, for Datachain IAM management (management of users, groups, roles, etc.).

Size

~510MB

Technical components

Java/Spring Boot/Jetty application

User

The container starts as root (process supervisor), then the application runs as dc (uid 38330, primary group root (gid 0), secondary group datachain (gid 38330)). If a uid is imposed at startup (OpenShift, Docker --user option), the whole container runs under that uid, which must belong to the root group (gid 0). Host directories mounted in the volumes must be writable by uid 38330 or by group 0. See Running without privileges (OpenShift).

Volumes

Path Purpose Required

/logs

Directory in which the server writes its logs

No, but recommended

/java_cert_import

Directory in which to place certificates. See Application certificates.

No. To be used only in very specific deployment cases.

Logs

Several types of logs, located under /logs/datachain/console

Log Purpose

dc-console.log

Application logs: mainly used for debugging.

A new file per day, compressed on rollover, and several files per day if the current size exceeds 200MB.

First increment at 0. Maximum total size of all files limited to 10GB. Retention period: 30 days.

access.log

Access logs

management.log

Management logs: can be ignored

URLs

Port URL Purpose

8093

/

Standard listening port of the component: all business operations with the console

9093

/actuator-console/*

Access to Spring actuator information, for example on /actuator-console/prometheus if the module configuration enables metrics:

  • management.endpoints.web.base-path=/actuator-console

  • management.prometheus.metrics.export.enabled=true

Environment variables

See here.

Configuration file

######################################################################################################################
#   DATACHAIN DC-CONSOLE CONFIGURATION
#   Fichier de configuration - configuration file
######################################################################################################################

# Plateform code modify if multiple plateforme sharing same redis
# code de la plateforme, à modifier si plusieurs plateformes partagent le même redis
dc.app.module.plateform-id=default

######################################### Data Properties ##########################################

# Whether to enable logging of SQL statements. Should be put as true ONLY for DEBUGGING
# Paramètre gérant l'affichage du SQL de la dataSource JDBC dans les logs : a utiliser à des fins de debug UNIQUEMENT.
spring.jpa.show-sql=false

## datasource and pool configuration ##
# JDBC URL of the database.
# Chaîne de connexion JDBC.
# By default, the database name is 'dc_console' and the port is '5432'.
# Par défaut, le nom de la base de données est "dc_console" et le port est "5432".
dc.app.console.database.main-datasource.url=jdbc:postgresql://dc-pg:5432/dc_console?prepareThreshold=0&preparedStatementCacheQueries=0

# Login username of the database. Default value 'postgres'
# Nom d'utilisateur de la base de données.
dc.app.console.database.main-datasource.username=postgres

# Login password of the database.
# Mot de passe de la base de données.
dc.app.console.database.main-datasource.password=changeIt

## pool configuration ##
## For detailed pool configuration, see :
## Pour la configuration ## Pour la configuration du pool détaillé, voir : détaillés, voir :
### https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby

# This property controls the pool name.
# Cette propriété contrôle le nom du pool.
dc.app.console.database.main-datasource.hikari.poolName=MainDatasourcePool

# Disable Autocommit.
# Cette propriété contrôle le type de commit.
dc.app.console.database.main-datasource.hikari.auto-commit=false

# This property controls the maximum number of milliseconds that a client (that's you) will wait for a connection from the pool.
# Cette propriété contrôle le nombre maximum de millisecondes pendant lesquelles un client (c'est-à-dire vous) attendra une connexion depuis le pool.
dc.app.console.database.main-datasource.hikari.connectionTimeout=30000

# This property controls the maximum size that the pool is allowed to reach.
# Cette propriété contrôle la taille maximale que le pool est autorisé à atteindre.
dc.app.console.database.main-datasource.hikari.maximumPoolSize=10

# This property controls the minimum number of idle connections that HikariCP tries to maintain in the pool.
# Cette propriété contrôle le nombre minimum de connexions inactives que HikariCP essaie de maintenir dans le pool.
dc.app.console.database.main-datasource.hikari.minimumIdle=5

# This property controls the maximum lifetime of a connection in the pool.
# Cette propriété contrôle la durée de vie maximale d'une connexion dans le pool.
dc.app.console.database.main-datasource.hikari.maxLifetime=600000

# This property controls how frequently HikariCP will attempt to keep a connection alive, in order to prevent it from being timed out by the database or network infrastructure.
# Cette propriété contrôle la fréquence à laquelle HikariCP tentera de maintenir une connexion active, afin d'éviter qu'elle ne soit interrompue par la base de données ou l'infrastructure réseau.
dc.app.console.database.main-datasource.hikari.keepaliveTime=60000

######################################### Server Properties ########################################
###############################
## HTTP server Configuration ##
###############################
## Server HTTP port.
## Port HTTP du serveur.
server.port=8093
## see https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-graceful-shutdown
server.shutdown=graceful

# Session tracking modes. par cookie.
# Modes de suivi de session. par cookie.
server.servlet.session.tracking-modes=COOKIE
server.servlet.session.cookie.name=dcConsoleSid
server.servlet.session.cookie.http-only=true
server.servlet.session.cookie.same-site=lax

# Redis Session namespace storage.
# Stockage des Sessions dans Redis.
spring.session.redis.namespace=datachain:${dc.app.module.plateform-id}:${dc.app.module.instance-id}:dc_console_sessions

# Secure cookie. SHould be true when https, false if http.
# Cookie securisé : devrait être positionné à true pour site sécurisé, false si http.
server.servlet.session.cookie.secure=true

# Session timeout: in seconds (s) default unit, in minutes (m), in hours (h).
# Gestion du timeout de session en heure (h) ou minutes (m) ou secondes (s) unité par défaut.
spring.session.timeout=8h

# max-age of cookie : should be same as session timeout.
# durée du cookie de session : devrait être à la même valeur que la session
server.servlet.session.cookie.max-age=-1

# Whether response compression is enabled.
# Indique si la compression des réponses est activée.
server.compression.enabled=true
## Comma-separated list of MIME types that should be compressed.
## Liste séparée par des virgules des types MIME qui doivent être compressés.
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain,text/csv,application/octet-stream
## Minimum "Content-Length" value that is required for compression to be performed.
## Valeur "Content-Length" minimale requise pour que la compression soit effectuée.
server.compression.min-response-size=2KB

## Enable access log.
## Activation des logs d'accès.
server.tomcat.accesslog.enabled=true

## Access log encoding.
## encodage des logs d'accès.
server.tomcat.accesslog.encoding=UTF-8

## Access log retention days.
## nombre de jour de conserbation des access logs.
server.tomcat.accesslog.max-days=31

## Access log directory: should not be modified.
## répertoire des access logs : ne devrait pas être modifier.
server.tomcat.accesslog.directory=${DC_ROOT_LOG_DIRECTORY:/tmp/log}${DC_LOG_DIRECTORY:/datachain/dc_console}

####################################### Actuator properties ########################################

##############################
## Monitoring avec Actuator ##
##############################

## For detailed configuration, see :
## Pour la configuration détaillés, voir :
## https://docs.spring.io/spring-boot/docs/3.1.5/reference/html/actuator.html
## Spring actuator configuration.
## Configuration de Spring actuator.

management.server.port=9093
management.server.address=127.0.0.1
management.endpoint.shutdown.enabled=false
management.endpoints.web.base-path=/management
management.endpoints.web.exposure.include=health, info, prometheus
management.prometheus.metrics.export.enabled=false
management.health.ldap.enabled=false

## Configuration redis pour le cache des sessions, ainsi ques les échanges entre modules
## Redis configuration for sessions cache, and inter module async exchange
spring.data.redis.host=dc-redis
spring.data.redis.port=6379
spring.data.redis.timeout=60000
spring.data.redis.database=0

########################################################################################################################
## USER PROVISIONING / PROVISIONNEMENT DES UTILISATEURS
## console user and groups database can be provisioned from LDAP directory (ex : openldap, active directory, ...).
## two of them can be configured.
## for better console performance, full and incremental provisioning can be configured
## Les utilisateurs ou groupes peuvent être provisionné depuis un annuaire LDAP (ex : openldap, active directory, ...)
########################################################################################################################
# First Ldap sync activation
# Activation synchonisation LDAP auprès d'un premier annuaire
dc.app.console.provisioning.ldap.first.active=false

## When using users/groups LDAP provisioning, cron expression for full provisioning: use '-' char for disabling-
## Example : every sunday at 1h30 AM : 0 30 1 * * SUN
## SI le provisionnement LDAP des utilisateurs/groupes, expression cron pour une provisionnement global : utiliser le caractère '-' pour désactiver ce cron-
## Exemple : tous les dimanches à 01h30 : 0 30 1 * * SUN
dc.app.console.provisioning.ldap.first.cron=-

## When using users/groups LDAP provisioning, cron expression for incremental provisioning: use '-' char for disabling-
## Example : every twenty minutes, beginning 30 seconds after minute : 30 0/20 * * * *
## Expression cron pour le provisionnement incrémental : utiliser le caractère '-' pour désactiver ce cron-
## Exemple : toutes les 20 minutes, à partir de la 30 seconde après la minute : 30 0/20 * * * *
dc.app.console.provisioning.ldap.first.partial-cron=-

## LDAP Server URL
## URL du SERVEUR LDAP
# dc.app.console.provisioning.ldap.first.urls=ldap://localhost:389

## Is User authentication enabled ?
## Authentification utilisateur active ?
# dc.app.console.provisioning.ldap.first.anonymous-read-only=false

## If authenticated, user login
## Si authentification login utilisateur ?
# dc.app.console.provisioning.ldap.first.username=cn=admin,dc=datachain,dc=fr

## If authenticated, user password
## Si authentification mot de passe utilisateur ?
# dc.app.console.provisioning.ldap.first.password=changeIt

## LDAP Root Distinguish Name
## Racine de l'annuaire LDAP
# dc.app.console.provisioning.ldap.first.root-dn=dc=datachain,dc=fr

## LDAP Directory Type : STANDARD (all standard directories like openldap, 389) or AD for Active directory
# Type d'annuaire : STANDARD (annuaires standards comme openldap, 389) or AD pour Active directory
# dc.app.console.provisioning.ldap.first.ldap-type=STANDARD

## Ldap server max responses configured response (often 1000 by default for AD)
## Limite du nombre de réponse (souvent 1000 par défaut pour AD)
# dc.app.console.provisioning.ldap.first.count=-1

## Follow referral or not (allowed values : follow, ignore,throw)
# traitement des liens vers d'autres annuaires. Valeurs authorisées: follow, ignore, throw
# dc.app.console.provisioning.ldap.first.referral=

## User search relative dn (can be empty)
## Dn relatif des utilisateurs à la racine de l'annuaire LDAP (peut-être vide)
# dc.app.console.provisioning.ldap.first.user.relative-dn=ou=users

## Ldap User search expression
## Expression de recherche des utilisateurs dans l'annuaire
# dc.app.console.provisioning.ldap.first.user.search-expression=(&(objectClass=inetOrgPerson)(objectClass=organizationalPerson))

## Ldap attribute to use for user description
## Attribut ldap qui représente la description de l'utilisateur
# dc.app.console.provisioning.ldap.first.user.description-attribute=description

## Ldap attribute to use for user surname
## Attribut ldap qui représente le nom de l'utilisateur
# dc.app.console.provisioning.ldap.first.user.surname-attribute=sn

## Ldap attribute to use for user mail
## Attribut ldap qui représente le mail de l'utilisateur
# dc.app.console.provisioning.ldap.first.user.email-attribute=mail

## Ldap attribute to use for user givenname
## Attribut ldap qui représente le prénom de l'utilisateur
# dc.app.console.provisioning.ldap.first.user.givenname-attribute=givenname

## Ldap attribute to use for user auth2 login
## Attribut ldap qui représente le login Oauth de l'utilisateur
# dc.app.console.provisioning.ldap.first.user.oauth-login-attribute=uid

## Ldap attribute to use for user kerberos login (when kerberos is activated)
## Attribut ldap qui représente le login kerberos de l'utilisateur (dans le cas de l'activation de kerberos)
# dc.app.console.provisioning.ldap.first.user.kerberos-login-attribute=uid

## Ldap attribute to use for user uid (UNIQUE)
## Attribut ldap qui représente l'identifiant UNIQUE de l'utilisateur
# dc.app.console.provisioning.ldap.first.user.identifier-attribute=uid

## Default email when no user email (email is required)
## email par défaut en l'absence d'email (l'email est obligatoire)
# dc.app.console.provisioning.ldap.first.user.default-email=none@nomail.com

## User of console have an UUID : this uuid can be generated (GENERATE) or ldap entryUUID can be use (ATTRIBUTE)
## Un utilisateur de la console a une UUID : cet UUID peut-être généré (GENERATE) ou récupérer depuis l'entrée utilisateur
## Values/Valeurs : GENERATE ou/or ATTRIBUTE
# dc.app.console.provisioning.ldap.first.user.uuid-mode=GENERATE

## Ldap entry uuid : entryUUID or ObjectGUID for AD
## Attribut LDAP qui représente l'uuid de l'utilisateur: entryUUID ou ObjectGUID pour AD
# dc.app.console.provisioning.ldap.first.user.uuid-attribute=entryUUID

## Operational attribute for sync modification detection
## Attribut opérationnel pour la détection de modification de l'entrée
# dc.app.console.provisioning.ldap.first.user.modify-timestamp-attribute=modifyTimestamp

## Operational attribute for sync modification detection
## Attribut opérationnel pour la détection de modification de l'entrée
# dc.app.console.provisioning.ldap.first.user.create-timestamp-attribute=createTimestamp

## Activate group sync ?
## Activation de la synchronisation des groupes ?
# dc.app.console.provisioning.ldap.first.group.sync=true

## Group search relative dn  (can be empty)
## Dn relatif des groupes à la racine de l'annuaire LDAP (peut être vide)
# dc.app.console.provisioning.ldap.first.group.relative-dn=ou=groups

## Ldap Group search expression
## Expression de recherche des groupes dans l'annuaire
# dc.app.console.provisioning.ldap.first.group.search-expression=(&(objectClass=groupOfUniqueNames))

## Ldap attribute to use for group name
## Attribut ldap qui représente le nom du groupe
# dc.app.console.provisioning.ldap.first.group.name-attribute=cn

## Ldap attribute to use for group description
## Attribut ldap qui représente la description du groupe
# dc.app.console.provisioning.ldap.first.group.description-attribute=description

## Ldap attribute to use for group unique identifier
## Attribut ldap qui représente l'identifiant unique du groupe
# dc.app.console.provisioning.ldap.first.group.identifier-attribute=cn

## Ldap attribute to use for user in group (this attribute can have multiple values which are user dn)
## Attribut ldap qui représente l'attribut d'un membre du groupe (attributs multivalué représentant le dn d'un utilisateur)
# dc.app.console.provisioning.ldap.first.group.member-attribute=uniqueMember

## Group of console have an UUID : this uuid can be generated (GENERATE) or ldap entryUUID can be use (ATTRIBUTE)
## Un groupe de la console a une UUID : cet UUID peut-être généré (GENERATE) ou récupérer depuis l'entrée LDAP
## Values/Valeurs : GENERATE ou/or ATTRIBUTE
# dc.app.console.provisioning.ldap.first.group.uuid-attribute=GENERATE

## When uuid-mode is ATTRIBUTE, ldap entry uuid
## Attribut LDAP qui représente l'uuid du groupe, utilisé si uuid-mode est ATTRIBUTE
# dc.app.console.provisioning.ldap.first.group.uuid-attribute=entryUUID

## Operational attribute for sync modification detection
## Attribut opérationnel pour la détection de modification de l'entrée
# dc.app.console.provisioning.ldap.first.group.modify-timestamp-attribute=modifyTimestamp

## Operational attribute for sync modification detection
## Attribut opérationnel pour la détection de modification de l'entrée
# dc.app.console.provisioning.ldap.first.group.create-timestamp-attribute=createTimestamp

## Second Ldap sync activation
## Activation synchonisation LDAP auprès d'un premier annuaire
dc.app.console.provisioning.ldap.second.active=false

## For second ldap parameter documentation, see first ldap documentation
## Pour la documentation des autres paramètres, voir la documentation ci dessus du premier annuaire.
# dc.app.console.provisioning.ldap.second.cron=-
# dc.app.console.provisioning.ldap.second.partial-cron=-
# dc.app.console.provisioning.ldap.second.urls=ldap://localhost:389
# dc.app.console.provisioning.ldap.second.anonymous-read-only=false
# dc.app.console.provisioning.ldap.second.username=cn=admin,dc=datachain,dc=fr
# dc.app.console.provisioning.ldap.second.password=changeIt
# dc.app.console.provisioning.ldap.second.root-dn=dc=datachain,dc=fr
# dc.app.console.provisioning.ldap.second.ldap-type=STANDARD
# dc.app.console.provisioning.ldap.second.count=-1
#dc.app.console.provisioning.ldap.first.referral=
# dc.app.console.provisioning.ldap.second.user.relative-dn=ou=users
# dc.app.console.provisioning.ldap.second.user.search-expression=(&(objectClass=inetOrgPerson)(objectClass=organizationalPerson))
# dc.app.console.provisioning.ldap.second.user.description-attribute=description
# dc.app.console.provisioning.ldap.second.user.surname-attribute=sn
# dc.app.console.provisioning.ldap.second.user.email-attribute=mail
# dc.app.console.provisioning.ldap.second.user.givenname-attribute=givenname
# dc.app.console.provisioning.ldap.second.user.oauth-login-attribute=uid
# dc.app.console.provisioning.ldap.second.user.kerberos-login-attribute=uid
# dc.app.console.provisioning.ldap.second.user.identifier-attribute=uid
# dc.app.console.provisioning.ldap.second.user.default-email=none@nomail.com
# dc.app.console.provisioning.ldap.second.user.uuid-mode=GENERATE
# dc.app.console.provisioning.ldap.second.user.uuid-attribute=entryUUID
# dc.app.console.provisioning.ldap.second.user.modify-timestamp-attribute=modifyTimestamp
# dc.app.console.provisioning.ldap.second.user.create-timestamp-attribute=createTimestamp
# dc.app.console.provisioning.ldap.second.group.sync=true
# dc.app.console.provisioning.ldap.second.group.relative-dn=ou=groups
# dc.app.console.provisioning.ldap.second.group.search-expression=(&(objectClass=groupOfUniqueNames))
# dc.app.console.provisioning.ldap.second.group.name-attribute=cn
# dc.app.console.provisioning.ldap.second.group.description-attribute=description
# dc.app.console.provisioning.ldap.second.group.identifier-attribute=cn
# dc.app.console.provisioning.ldap.second.group.member-attribute=uniqueMember
# dc.app.console.provisioning.ldap.second.group.uuid-mode=GENERATE
# dc.app.console.provisioning.ldap.second.group.uuid-attribute=entryUUID
# dc.app.console.provisioning.ldap.second.group.modify-timestamp-attribute=modifyTimestamp
# dc.app.console.provisioning.ldap.second.group.create-timestamp-attribute=createTimestamp


######################################### Keyclock user synchonisation ##########################################

## Keycloak synchronization activation (for user creation and user password reset)
## Activation de la synchronisation vers keycloak (création des utilisateurs et reset des mots de passes)
dc.app.console.provisioning.keycloak.active-sync-to-keycloak=false

## When keycloak user sync is activates, keycloak parameters
## paramétrage keycloak si la synchronisation keycloak est activée
## Keycloak 'internal url'
## 'Url interne' keycloak
dc.app.console.keycloak.url=http://dc-keycloak:8080/auth

## Realm
## Royaume
dc.app.console.keycloak.realm=dc-realm

## Client id
## Identifiant du client
dc.app.console.keycloak.sync-client-id=dc_service_account

## Client secret
## Secret du client
dc.app.console.keycloak.sync-client-secret=6bcf085a-44c8-40b1-9c0c-9381c9749a8c

## Proxy
## Proxy
dc.app.console.keycloak.proxy=

## User default langage
dc.app.console.preferences.user-default-langage=BROWSER

## Token generation feature activation
## Activation de la fonctionnalité de génération de token
dc.app.console.preferences.enable-global-token-generation=true

######################################### Mail server configuration ##########################################

## Configuration parameters for the SMTP mail server
## Parametres de configuration pour le serveur de mail SMTP
dc.app.console.mail.smtp-server.host=smtp.nohost.com
dc.app.console.mail.smtp-server.port=587
dc.app.console.mail.smtp-server.auth=true
dc.app.console.mail.smtp-server.user=user@host.com
dc.app.console.mail.smtp-server.password=pwd123
dc.app.console.mail.smtp-server.sender=default.sender@host.com
dc.app.console.mail.smtp-server.ssl-trust=*
dc.app.console.mail.smtp-server.ssl-enable=false
dc.app.console.mail.smtp-server.ssl-protocols=TLSv1.2
dc.app.console.mail.smtp-server.starttls-enable=false
dc.app.console.mail.smtp-server.starttls-required=false
dc.app.console.mail.smtp-server.auth-mechanisms=LOGIN

## When smtp is not available, delay to retry to send waiting emails in milliseconds (ten minutes)
## Si le serveur SM>TP est indisponibles, délai entre deux essais d'émission des emails en attentes en milliseconds (10 minutes)
dc.app.console.mail.fixed-delay=600000

#######################################
## Datachain DOC server URL          ##
## URL de la documentation Datachain ##
#######################################
dc.app.doc.server.url=https://docs.adobisdc.fr

## Logging levels, with some example above
## Niveau de log par defaut, avec exemples ci-dessous
logging.level.ROOT=ERROR
logging.level.com.adb.dc=INFO
logging.level.com.adb.dc.common.web.filter.DcRequestCachingFilter=ERROR

## Trace datachain code
# logging.level.com.adb.dc=DEBUG

## Trace all JDBC request
# logging.level.org.springframework=INFO
# logging.level.org.springframework.data.redis=INFO
# logging.level.org.springframework.transaction=DEBUG
# logging.level.org.springframework.orm.jpa=DEBUG
# logging.level.org.springframework.security=DEBUG

## Trace all JDBC request
# logging.level.org.hibernate.SQL=DEBUG
# logging.level.org.hibernate.orm.jdbc.bind=TRACE


######################################### Console configuration ##########################################


## api key token used by others modules.
## if key is modified, each client module must have a dc.app.module.console.api-key property defined
## Clé d'api de la console, utilisée par les autres modules pour leurs appels. Si la clées est modifiée,
## alors chaque module client doit avoir sa clé dc.app.module.console.api-key définies avec cette propriété.
#dc.app.console.api-key=***

## Json file describing deployed plateform modules
## Chemin du fichier des descriptions des modules déployés sur la plateforme
dc.app.console.deploy.topology-deploy-file-location=/config/topology.json

## Example of file
## Ficher d'exemple

## {
##   "products": [
##     {
##       "code": "DATACHAIN_CONSOLE",
##       "label": "Datachain Console",
##       "internalUrl": "http://dc-console:8093",
##       "publicUrl": "https://console.datachain.public-url",
##       "type": "DC_CONSOLE"
##     },
##     {
##       "code": "DC_MP",
##       "label": "Datachain Marketplace for Efficient Sharing",
##       "internalUrl": "http://dc-marketplace:8092",
##       "publicUrl": "https://marketplace.datachain.public-url",
##       "type": "DC_MARKETPLACE"
##     },
##     {
##       "code": "DATACHAIN_CORE",
##       "label": "Datachain Core Platform",
##       "description": "Datachain Core plateforme",
##       "internalUrl": "http://dc-core:8089",
##       "publicUrl": "https://dc-core.datachain.public-url",
##       "linkedProducts": [
##         "DC_MP"
##       ],
##       "type": "DC_CORE"
##     }
##   ]
## }

##########################################################
# Features global activation                             #
# Activation des fonctionnalités de la Console Datachain #
##########################################################

# Users Create/update/delete via user interface (can be disabled when ldap provisioning is activated)
# Création/modification/delete d'utilisateur via ihm (peut-être désactivé en cas de provisionnement ldap)
dc.app.console.features.users-management=true

# Users roles Create/update/delete via user interface
# Création/modification/delete des rôles utilisateurs via ihm
dc.app.console.features.users-roles-management=true

# Can users create token for themself
# Autorisation pour les utilisateurs de créer un token pour eux même
dc.app.console.features.users-tokens=true

# Can admin create token for users
# Autorisation pour les admins de créer un token
dc.app.console.features.users-tokens-management=true

# Groups Create/update/delete via user interface (can be disabled when ldap provisioning is activated)
# Création/modification/delete de groupe via ihm (peut-être désactivé en cas de provisionnement ldap)
dc.app.console.features.groups-management=true

# Groups roles Create/update/delete via user interface
# Création/modification/delete des rôles des groupes via ihm
dc.app.console.features.groups-roles-management=true

# CSP Http header (security)
# Header HTTP CSP (sécurité)
dc.app.security.csp=default-src *  data: blob: filesystem: about: ws: wss: 'unsafe-inline' 'unsafe-eval';script-src * data: blob: 'unsafe-inline' 'unsafe-eval'; connect-src * data: blob: 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src * data: blob: ; style-src * data: blob: 'unsafe-inline';font-src * data: blob: 'unsafe-inline';frame-ancestors * data: blob:;

# First user creation without password
# Configuration de la creation du premier utilisateur de la console
dc.app.console.first-user.init=false
# dc.app.console.first-user.login=admin
# dc.app.console.first-user.password=changeIt
# dc.app.console.first-user.email=admin@unknown-domain.com
# dc.app.console.first-user.firstname=Admin
# dc.app.console.first-user.lastname=Datachain

Deployment topology description file

{
  "products": [
    {
      "code": "DATACHAIN_CONSOLE",
      "label": "Datachain Console",
      "internalUrl": "http://console:8093",
      "publicUrl": "___ YOUR CONSOLE PUBLIC URL ___",
      "type": "DC_CONSOLE"
    },
    {
      "code": "DC_MP_1",
      "label": "Datachain Marketplace for Efficient Sharing",
      "internalUrl": "http://dc-marketplace:8092",
      "publicUrl": "___ YOUR MARKETPLACE PUBLIC URL ___",
      "type": "DC_MARKETPLACE"
    },
    {
      "code": "DATACHAIN_CORE_1",
      "label": "Datachain Core Platform",
      "description": "Datachain Core",
      "internalUrl": "http://dc_backend:8089",
      "publicUrl": "___ YOUR DC-CORE PUBLIC URL ___",
      "linkedProducts": [
        "DC_MP_1"
      ],
      "type": "DC_CORE"
    }
  ]
}

Dernière mise à jour le 2 novembre 2026 à 15:16