Configuration - Marketplace
This page describes the configuration of the Marketplace 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).
Marketplace module - Image dc/marketplace
Image description
Description |
Contains the marketplace module, which makes data available to users. |
|||||||||
|---|---|---|---|---|---|---|---|---|---|---|
Size |
~510MB |
|||||||||
Technical components |
Java/Spring Boot/Jetty application |
|||||||||
User |
The container starts as |
|||||||||
Volumes |
|
|||||||||
Logs |
Several types of logs, located under /logs/datachain/mp
|
|||||||||
URLs |
|
Environment variables
See here.
Configuration file
######################################################################################################################
## DATACHAIN DC-MARKETPLACE CONFIGURATION FILE
# Fichier de configuration - configuration file
######################################################################################################################
######################################### Data Properties ##########################################
# Whether to enable logging of SQL statements.
# Paramètre gérant l’affichage du SQL de la dataSource JDBC dans les logs.
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_marketplace' and the port is '5432.
# Par défaut, le nom de la base de données est "dc_marketplace" et le port est "5432".
dc.app.marketplace.database.main-datasource.url=jdbc:postgresql://dc-pg:5432/dc_marketplace?prepareThreshold=0&preparedStatementCacheQueries=0
# Login username of the database. Default value 'postgres'
# Nom d'utilisateur de la base de données.
dc.app.marketplace.database.main-datasource.url.username=postgres
# Login password of the database.
# when using docker secret ar another vault, which will mount file with password inside container, you can use
# DC_APP_MARKETPLACE_DATABASE_MAIN___DATASOURCE_PASSWORD_FILE=/path/to/
# Mot de passe de la base de données.
#
dc.app.marketplace.database.main-datasource.url.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.marketplace.database.main-datasource.hikari.poolName=MainDatasourcePool
# 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.marketplace.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.marketplace.database.main-datasource.hikari.maximumPoolSize=5
# 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.marketplace.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.marketplace.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.marketplace.database.main-datasource.hikari.keepaliveTime=60000
# Disable Autocommit.
# Cette propriété contrôle le type de commit.
dc.app.marketplace.database.main-datasource.hikari.auto-commit=false
###################################
## Expose Database Configuration ##
###################################
### See Main Database Configuration.
dc.app.marketplace.database.expose-datasource.url=jdbc:postgresql://dc-pg:5432/expose?prepareThreshold=0&preparedStatementCacheQueries=0
dc.app.marketplace.database.expose-datasource.username=postgres
dc.app.marketplace.database.expose-datasource.password=changeIt
### See Main Database Configuration - Pool configuration.
# Pool configuration #
dc.app.marketplace.database.expose-datasource.hikari.connectionTimeout=30000
dc.app.marketplace.database.expose-datasource.hikari.maximumPoolSize=20
dc.app.marketplace.database.expose-datasource.hikari.minimumIdle=20
dc.app.marketplace.database.expose-datasource.hikari.maxLifetime=600000
dc.app.marketplace.database.expose-datasource.hikari.keepaliveTime=60000
dc.app.marketplace.database.expose-datasource.hikari.poolName=ExposeDatasourcePool
dc.app.marketplace.database.expose-datasource.hikari.auto-commit=false
######################################### Server Properties ########################################
###############################
## HTTP server Configuration ##
###############################
# Server HTTP port.
# Port HTTP du serveur.
server.port=8092
# 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=dcMpSid
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_marketplace_sessions
# Secure cookie.
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_mp}
####################################### 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=9092
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
## Redis configuration for sessions cache
spring.data.redis.host=dc-redis
spring.data.redis.port=6379
spring.data.redis.timeout=60000
spring.data.redis.database=0
###########################################
## Exposure API configuration ##
## Configuration de l'API d'exposition ##
###########################################
# Configuration of the maximum number of elements for the exposed API.
# By default at 100000, can be overloaded with potential performance risk.
# Configuration du nombre max d'éléments pour l'api d'exposition
# Par défaut à 100000, peut être surchargé avec risque potentiel sur les performances
dc.app.marketplace.expose.api.max-results-number=10000000
# Configuration of the default number of elements for the exposed API.
# By default at 5000, can be overloaded with potential performance risk.
# Configuration du nombre par default d'éléments pour l'api d'exposition
# Par défaut à 5000, peut être surchargé avec risque potentiel sur les performances
dc.app.marketplace.expose.api.default-results-number=5000
# Configuration of the maximum number of elements for the exposed API Simulation.
# By default at 100000, can be overloaded with potential performance risk.
# Configuration du nombre max d'éléments pour la simulation de l'api d'exposition
# Par défaut à 100000, peut être surchargé avec risque potentiel sur les performances
dc.app.marketplace.expose.api.simulation-max-results-number=500
# Configuration of the maximum number of elements for the ODATA API.
# By default at 100000, can be overloaded with potential performance risk.
# Configuration du nombre max d'éléments pour l'api ODATA
# Par défaut à 100000, peut être surchargé avec risque potentiel sur les performances
dc.app.marketplace.expose.odata.max-results-number=10000000
# Configuration of the default number of elements for the ODATA API.
# By default at 5000, can be overloaded with potential performance risk.
# Configuration du nombre par default d'éléments pour l'api ODATA
# Par défaut à 5000, peut être surchargé avec risque potentiel sur les performances
dc.app.marketplace.expose.odata.default-results-number=5000
# Configuration of the maximum number of elements for the ODATA API Simulation.
# By default at 100000, can be overloaded with potential performance risk.
# Configuration du nombre max d'éléments pour la simulation de l'api ODATA
# Par défaut à 100000, peut être surchargé avec risque potentiel sur les performances
dc.app.marketplace.expose.odata.simulation-max-results-number=500
# When instance is open to external people who won't have access to console, set this parameter to
#true to disable links to other Datachain module
# Lorsque l'instance est publique, sans droit d'accès à la console pour les utilisateurs,
# mettre ce paramètre à true pour désactiver les liens vers les autres modules (et notamment la console).
#dc.app.marketplace.isolate=true
# MANDATORY PARAMETER
# market place public URL
# URL public de module
#dc.app.marketplace.expose.public-url=http://yourPublicUrl
# 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:;
#################################################
## Console Exchange configuration ##
## Configuration des échanges avec la console ##
#################################################
# 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
# Module code
# code du module selon la topology
dc.app.module.instance-id=DC_MP
# private console url
# Url privée de la console
#dc.app.module.console.url=http://dc-console:8093
# Authentication token for module exchanges
# token d'authentification pour les appels à la console
# dc.app.module.console.api-key=****
## Event incremental synchronisation with console configuration
## five seconds after start, then every 3 minutes.
## Cron de synchronisation des évènements consoles
## 5 secondes après redémarrage, puis toutes les trois minutes.
dc.app.module.console.sync.events.incremental.cron=-
dc.app.module.console.sync.events.incremental.initial-delay=5s
dc.app.module.console.sync.events.incremental.fixed-delay=3m
## Event full synchronisation with console configuration (unit : seconds)
## Use it if there are problems with incremental event synchronization.
## Cron de synchronisation de tous les évènements consoles en second
## A n'activer qu'une fois par jour maximum si nécessaire, et
## en dehors des heures d'utilisations intenses, non actif.
# dc.app.module.console.sync.events.full.cron=-
# dc.app.module.console.sync.events.full.initial-delay=99999d
# dc.app.module.console.sync.events.full.fixed-delay=99999d
## Logging levels, with some example above
## Niveau de log par défaut, 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
Dernière mise à jour le 2 novembre 2026 à 15:16