Technical configuration and setup
Applications can be configured via docker *.env files or environment variables. Below are the essential settings for the various modules.
To find out more, please download the self-documented configuration file associated with the relevant module.
Web module - Image dc/web_ui
Environment variables
Variable | Default value | Description |
---|---|---|
KEYCLOAK_CONFIG |
{"url": "http://localhost:8080/auth", "realm": "dc-realm", "clientId": "datachain", "userManagementRole" : "realm-admin"} |
Keycloak configuration for interface redirection to authentication server. This configuration MUST be overloaded with your network configuration. For example, if keycloak is on the url sso.monorganisation.com, then the configuration will be : KEYCLOAK_CONFIG={"url": "https:sso.monorganisation.com/auth", "realm": "dc-realm", "clientId": "dc_front", "backendClientId": "dc_backend", "userRole": "dc_user", "projectRole": "dc_project", "adminRole": "dc_admin", "memberRole": "dc_member"} |
PROXY_PASS_BACKEND |
dc-backend:8089 |
Internal backend URL: this variable should not be modified, except in the event of a change to the backend dns name, from a docker network point of view. |
PROXY_PASS_BACKEND_LOG |
dc-backend:9000 |
Internal backend URL for logs: this variable should not be modified, except in the event of a change to the backend dns name, from a docker network point of view. |
PROXY_PASS_SPARK_LOG1 |
dc-spark1:9000 |
spark’s internal URL for logs: this variable should not be modified, except in the event of a change to the dns name of spark1, from a docker network point of view. |
PUBLIC_IP_PORT_443 |
localhost:443 |
Only used for deployments without reverse proxy, which is rarely the case in production infrastructures. |
DOC_VERSION |
Corresponds to the server version - should not be modified, except in special cases communicated by Adobis. |
|
DOC_SERVER_URL |
Public URL for Adobis documentation server |
|
CONTENT_SECURITY_POLICY |
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:; |
CSP http security header configuration |
Backend module - Image dc/backend
Environment variables
Variable | Default value | Description |
---|---|---|
DC_PG_PASSWORD_FILE |
Name of the "docker secret" file used to override spring.datasource.password. |
|
DC_PG_EXPOSE_PASSWORD_FILE |
Name of the "docker secret" file used to override spring.expose-datasource.password |
|
DC_PG_JOB_PASSWORD_FILE |
Name of the "docker secret" file used to override spring.job-datasource.password. If not overridden, but the DC_PG_PASSWORD_FILE value is present, then DC_PG_PASSWORD_FILE will be used. |
|
SPARK_SECURITY_USER_PASSWORD_FILE |
name of "docker secret" file used to override dc.app.api.spark.security.user.password (identical on backend and spark) |
|
KEYCLOAK_INTERNAL_CLIENT_SECRET_FILE |
name of "docker secret" file used to override dc.keycloak.internal-client-secret |
Configuration file
################################################
## DATACHAIN Backend CONFIGURATION FILE ##
################################################
# DataChain Backend configuration file example.
# Exemple de fichier de configuration du backend DataChain.
######################################### Data Properties ##########################################
####################################################
## Main Database Configuration ##
## Configuration de la base de données principale ##
####################################################
## For detailed configuration, see :
## Pour la configuration détaillés, voir :
### https://docs.spring.io/spring-boot/docs/2.3.12.RELEASE/reference/html/production-ready-features.html
# database ip or dns address. Default value 'localhost
# Adresse ip ou dns de la base de données. Valeur par défaut 'localhost'
dc.app.db.host=localhost
# JDBC URL of the database.
# Chaîne de connexion JDBC.
# By default, the database name is 'adobis' and the port is '5432.
# Par défaut, le nom de la base de données est "adobis" et le port est "5432".
spring.datasource.url=jdbc:postgresql://${dc.app.db.host}:5432/adobis?prepareThreshold=0&preparedStatementCacheQueries=0
# Login username of the database. Default value 'postgres'
# Nom d'utilisateur de la base de données.
spring.datasource.username=postgres
# Login password of the database.
# Mot de passe de la base de données.
spring.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 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.
spring.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.
spring.datasource.hikari.maximumPoolSize=20
# 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.
spring.datasource.hikari.minimumIdle=20
# 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.
spring.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.
spring.datasource.hikari.keepaliveTime=60000
# This property controls the pool name.
# Cette propriété contrôle le nom du pool.
spring.datasource.hikari.poolName=MainDatasourcePool
# 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
# Register OpenEntityManagerInViewInterceptor. Binds a JPA EntityManager to the thread for the entire processing of the request.
# Enregistrez OpenEntityManagerInViewInterceptor. Lie un EntityManager JPA au thread pour l'ensemble du traitement de la demande.
spring.jpa.open-in-view=false
## Hibernate configuration ##
## For detailed Hibernate configuration, see :
## Pour la configuration ## Pour la configuration détaillés, voir : détaillés, voir :
### https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html
# Defines the query timeout, in milliseconds.
# Définit le délai d'expiration de la requête, en millisecondes.
spring.jpa.properties.javax.persistence.query.timeout=30000
# If enabled, Hibernate will collect statistics useful for performance tuning.
# Si activé, Hibernate collectera des statistiques utiles pour le réglage des performances.
spring.jpa.properties.hibernate.generate_statistics=false
# Disable/Enable the second level cache
# Désactiver/Activer le cache de second niveau
spring.jpa.properties.hibernate.cache.use_second_level_cache=false
# Controls the maximum number of statements Hibernate will batch together before asking the driver to execute the batch. Zero or a negative number disables this feature.
# Contrôle le nombre maximum d'instructions qu'Hibernate regroupera avant de demander au pilote d'exécuter le lot. Zéro ou un nombre négatif désactive cette fonction.
spring.jpa.properties.hibernate.jdbc.batch_size=2000
# Forces Hibernate to order inserts to allow for more batching to be used.
# Force Hibernate à commander des insertions pour permettre l'utilisation de plus de lots.
spring.jpa.properties.hibernate.order_inserts=true
# Forces Hibernate to order SQL updates by the entity type and the primary key value of the items being updated.
#Force Hibernate à trier les mises à jour SQL par le type d'entité et la valeur de la clé primaire des éléments mis à jour.
spring.jpa.properties.hibernate.order_updates=true
# Defines the Hibernate-specific FlushMode to use.
# Définit le FlushMode spécifique à Hibernate à utiliser
spring.jpa.properties.org.hibernate.flushMode=COMMIT
# Should versioned entities be included in batching?
# Les entités versionnées doivent-elles être incluses dans le traitement par lot ?
spring.jpa.properties.hibernate.jdbc.batch_versioned_data=true
# Should we not use contextual LOB creation ?
# Ne devrions-nous pas utiliser la création contextuelle de LOB ?
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
#########################################################################
###################################
## Expose Database Configuration ##
###################################
### See Main Database Configuration.
### Configuration de la base de données principale.
# Standard configuration #
spring.expose-datasource.dbtype=pgSql
spring.expose-datasource.host=localhost
spring.expose-datasource.port=5432
spring.expose-datasource.database=expose
spring.expose-datasource.schema=public
spring.expose-datasource.username=postgres
spring.expose-datasource.password=changeIt
spring.expose-datasource.url=jdbc:postgresql://${spring.expose-datasource.host}:${spring.expose-datasource.port}/${spring.expose-datasource.database}
### See Main Database Configuration - Pool configuration.
### Configuration de la base de données principale - Pool configuration.
# Pool configuration #
spring.expose-datasource.hikari.connectionTimeout=30000
spring.expose-datasource.hikari.maximumPoolSize=20
spring.expose-datasource.hikari.minimumIdle=20
spring.expose-datasource.hikari.maxLifetime=600000
spring.expose-datasource.hikari.keepaliveTime=60000
spring.expose-datasource.hikari.poolName=ExposeDatasourcePool
###################################
## Job Database Configuration ##
###################################
### See Main Database Configuration.
### Configuration de la base de données principale.
# Standard configuration #
spring.job-datasource.host=${dc.app.db.host}
spring.job-datasource.port=5432
spring.job-datasource.database=adobis
spring.job-datasource.schema=job
spring.job-datasource.username=${spring.datasource.username}
spring.job-datasource.password=${spring.datasource.password}
spring.job-datasource.url=jdbc:postgresql://${spring.job-datasource.host}:${spring.job-datasource.port}/${spring.job-datasource.database}
### See Main Database Configuration - Pool configuration.
### Configuration de la base de données principale - Pool configuration.
# Pool configuration #
spring.job-datasource.hikari.connectionTimeout=30000
spring.job-datasource.hikari.maximumPoolSize=10
spring.job-datasource.hikari.minimumIdle=10
spring.job-datasource.hikari.maxLifetime=600000
spring.job-datasource.hikari.keepaliveTime=60000
spring.job-datasource.hikari.poolName=JobDatasourcePool
######################################### Server Properties ########################################
###############################
## HTTP server Configuration ##
###############################
## For detailed configuration, see :
## Pour la configuration détaillés, voir :
### https://docs.spring.io/spring-boot/docs/2.3.12.RELEASE/reference/html/production-ready-features.html
# Server HTTP port.
# Port HTTP du serveur.
server.port=8089
# Context path of the application.
# Chemin de contexte de l'application.
server.servlet.context-path=/
# 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
# Time that the connection can be idle before it is closed.
# Temps pendant lequel la connexion peut être inactive avant d'être fermée.
server.jetty.connection-idle-timeout=10000s
server.jetty.accesslog.enabled=true
server.jetty.accesslog.custom-format=%{client}a - %u %t "%r" %s %O (%{ms}T ms)
### Web properties ###
# Max file size.
# Taille maximale du fichier.
spring.servlet.multipart.max-file-size=10000MB
# Max request size.
# Taille maximale de la requête.
spring.servlet.multipart.max-request-size=10000MB
# Session tracking modes. default disabled.
# Modes de suivi de session. désactivé par défaut.
server.servlet.session.tracking-modes=
# Maximum size of data buffers used in file upload..
# Taille maximale des tampons de données utilisés dans le téléchargement de fichiers.
dc.app.http.upload.chunk-size=32768
####################################### Actuator properties ########################################
##############################
## Monitoring avec Actuator ##
##############################
## For detailed configuration, see :
## Pour la configuration détaillés, voir :
## https://docs.spring.io/spring-boot/docs/2.3.12.RELEASE/reference/html/production-ready-features.html
## Spring actuator configuration.
## Configuration de Spring actuator.
management.endpoint.shutdown.enabled=false
management.server.port=9090
management.endpoints.web.base-path=/actuator
management.server.address=127.0.0.1
management.endpoints.web.exposure.include=health,prometheus
management.metrics.export.prometheus.enabled=false
management.health.ldap.enabled=false
######################################### Core properties ##########################################
## For detailed configuration, see :
## Pour la configuration détaillés, voir :
## https://docs.spring.io/spring-boot/docs/2.3.12.RELEASE/reference/html/production-ready-features.html
# Expose management beans to the JMX domain.
# Exposer les beans de gestion au domaine JMX
spring.jmx.enabled=false
######################################### Log properties ###########################################
###############################
## Log & Trace Configuration ##
###############################
# Trace
# data profiling activation switch (calculation and log of service execution time).
# Interrupteur d’activation du profilage des données (calcul et log du temps d’exécution des services).
dc.app.log.aspect.enable=false
# Http traceability activation switch
# Interrupteur d’activation de la traçabilité http
logbook.filter.enabled=false
# Http traceability level
# Niveau de traçabilité http
logbook.write.level=INFO
# Exclude certain URLs
# Exclure certaines URL
logbook.exclude=/oauth/token/**
####################################### Security properties ########################################
############################
## keycloak configuration ##
############################
## For detailed configuration, see :
## Pour la configuration détaillés, voir :
## https://www.keycloak.org/docs/20.0.3/securing_apps/#_spring_boot_adapter
# Network configuration
# The URL for the Keycloak authentication server.
# L'URL du serveur proxy utilisé pour se connecter à Keycloak.
keycloak.auth-server-url=http://localhost:8080/auth
# The URL of the proxy server used to connect to Keycloak.
# L'URL du serveur proxy utilisé pour se connecter à Keycloak.
keycloak.proxy-url=
# The realm to use for authentication and authorization.
# Le royaume à utiliser pour l'authentification et l'autorisation.
keycloak.realm=dc-realm
# The name of the client resource that represents the application.
# Le nom de la ressource client qui représente l'application.
keycloak.resource=dc_backend
# This property specifies that the application only accepts bearer tokens for authentication.
# Cette propriété spécifie que l'application n'accepte que les jetons porteurs pour l'authentification.
keycloak.bearer-only=true
# This property specifies that the application should use resource-level roles instead of realm-level roles.
# Cette propriété spécifie que l'application doit utiliser des rôles au niveau des ressources plutôt que des rôles au niveau du royaume.
keycloak.use-resource-role-mappings=true
# keycloak roles
# The name of the role assigned to standard users.
# Le nom du rôle attribué aux utilisateurs standards.
dc.keycloak.user-role-name=dc_user
# The name of the role assigned to instances administrators.
# Le nom du rôle attribué aux administrateurs d'instances.
dc.keycloak.admin-role-name=dc_admin
# The name of the role assigned to project managers.
# Le nom du rôle attribué aux gestionnaires de projet.
dc.keycloak.project-role-name=dc_project
# The name of the role assigned to project members.
# Le nom du rôle attribué aux membres du projet.
dc.keycloak.member-role-name=dc_member
# keycloak clients
# The ID of the client used by the front-end application.
# L'ID du client utilisé par l'application font.
dc.keycloak.front-client-id=dc_front
# The ID of the client used by the exposition application.
# L'ID du client utilisé par l'exposition.
dc.keycloak.exposition-client-id=dc_exposition
# for internal communication (spark notif)
# The ID of the client used by the back-end application for internal communication.
# L'ID du client utilisé par l'application back-end pour la communication interne.
dc.keycloak.internal-client-id=dc_backend_keycloak
# The secret key used by the internal client for authentication.
# La clé secrète utilisée par le client interne pour l'authentification.
dc.keycloak.internal-client-secret=6bcf085a-44c8-40b1-9c0c-9381c9749a8c
# The secret key used by the internal client for authentication.
# L'ID du client utilisé par le système de notification Spark.
dc.keycloak.spark-internal-client-id=dc_spark_backend
# Realm URLs
# The URL of the realm admin console.
# L'URL de la console d'administration du royaume.
dc.keycloak.realm-url=${keycloak.auth-server-url}/admin/realms/${keycloak.realm}
# The URL for accessing user information in the realm.
# L'URL pour accéder aux informations de l'utilisateur dans le royaume.
dc.keycloak.realm-users-url=${dc.keycloak.realm-url}/users
# The URL for accessing group information in the realm.
# L'URL pour accéder aux informations de groupe dans le royaume.
dc.keycloak.realm-groups-url=${dc.keycloak.realm-url}/groups
# Client inactivity max delay in minutes
# Délai maximal d'inactivité du client en minutes
dc.app.backend.security.inactivity-max-delay=2400
########################################## Spark properties ########################################
#########################
## Spark configuration ##
#########################
# Spark
# The user/password used by backend to communicate with DATACHAIN SPARK
# Le nom d'utilisateur/mot de passe utilisé par le backend pour communiquer avec DATACHAIN SPARK
dc.app.api.spark.security.user.name=backend
dc.app.api.spark.security.user.password=70171933-e656-4183-9955-bfd0354d2250
# This property specifies that all Spark contexts share the same file system.
# Cette propriété spécifie que tous les contextes Spark partagent le même système de fichiers.
dc.api.spark.shared-file-system=true
#Spark rest request timeout
# The connection timeout (in milliseconds) for Spark REST requests.
# Le temps d'attente de connexion (en millisecondes) pour les requêtes Spark REST.
dc.api.spark.request-connection-timeout=10000
#The reading timeout (in milliseconds) for Spark REST requests.
# Le temps d'attente de lecture (en millisecondes) pour les requêtes Spark REST.
dc.api.spark.request-reading-timeout=60000
####################################### Cache properties ###########################################
########################
## Cache Configuration ##
########################
# Path to ehcache the configuration file
# Chemin pour mettre en cache le fichier de configuration
dc.app.ehcahce.configuration=
################################## Internationalization properties #################################
########################
## i18n ##
########################
# This property specifies the base name for the message resource bundles used for internationalization.
# Cette propriété spécifie le nom de base des fichiers de ressources de message utilisés pour l'internationalisation.
spring.messages.basename=i18n/common/messages,i18n/common/validations,i18n/gd/messages,i18n/gd/validations,i18n/gd/autodoc,i18n/hd/messages,i18n/hd/validations,i18n/common/jobtype,i18n/gd/exporttemplate
# This property specifies whether the system locale should be used as a fallback for messages that are not found in the message resource bundles.
# Cette propriété spécifie si la locale système doit être utilisée comme solution de secours pour les messages qui ne sont pas trouvés dans les fichiers de ressources de message.
spring.messages.fallback-to-system-locale=false
######################################## Misc Configuration ########################################
##########################
## Web-ui configuration ##
##########################
# Network
# Cette propriété spécifie l'URL de l'interface web.
dc.app.url.web-ui=http://localhost
# Cette propriété spécifie l'URL interne de l'interface web.
dc.app.url.internal-web-ui-url=http://localhost
##############################################################################
## Configuration des échanges de message entre backend et Spark via Redis ##
## Configuration for message exchanges between backend and spark via redis ##
##############################################################################
# Configuration pour les échanges de message entre backend et spark via redis
# Url de Redis
# Redis Url
dc.app.notification.urls=redis://localhost:33333
# The prefixes are in case one day we make multiple DataChain work on the same
# Les prefixes sont pour le cas ou un jour, on fait travailler plusieurs DataChain sur la même
#
# Redis infrastructure and to ensure that we do not overwrite the queue of another application if
# infra Redis et pour permettre de s'assurer ne pas écraser la file d'une autre application si
#
# Redis is shared with other applications
# Redis est partagé avec d'autres applications
dc.app.notification.job.queue.name.prefix=dc.app.notification.job.queue
dc.app.notification.event.job.queue.name.prefix=dc.app.notification.event.job.queue
dc.app.notification.cancel.job.topic.name.prefix=dc.app.notification.cancel.job.topic
dc.app.notification.event.job.topic.name.prefix=dc.app.notification.event.job.topic
dc.app.notification.cache.job.result.name.prefix=dc.app.notification.cache.job.result
dc.app.notification.event.heart.beat.name.prefix=dc.app.notification.event.heart.beat
# Cron to deeply clean the cache
# Cron de nettoyage en profondeur du cache
dc.app.cron.clean.cache=0 0 1 * * ?
# Cron for clearing job details by setting requests to null. The default schedule is set to run at 1:30 AM every Sunday (0 30 1 * * SUN).
# Cron pour effacer les détails des emplois en définissant les demandes comme nulles. L'horaire par défaut est programmé pour s'exécuter à 1 h 30 chaque dimanche (0 30 1 * * SUN).
dc.app.cron.clean.job.request=0 30 1 * * SUN
# Threshold for data cleaning in days. Default 60 days
# Seuil de nettoyage des données en jours. Par défaut, 60 jours.
dc.app.cron.clean.job.request.threshold=60
# Short cache duration in second (default one hour)
# Durée du cache court en second (une heure par défaut)
dc.app.short.job.cache.duration.minutes=60
# Long cache duration in minutes (default one day)
# Durée du cache long en minutes (une journée par défaut)
dc.app.long.job.cache.duration.minutes=1440
###########################################
## 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.expose.api.max-results-number=100000
dc.app.expose.api.default-results-number=1000
################################################
## Data Encryption configuration ##
## Configuration du chiffrement des données ##
################################################
# This property specifies whether exported project files should be encrypted (true by default).
# If false a .zip file will be returned
# Cette propriété spécifie si les fichiers de projet exportés doivent être chiffrés (true par défaut).
# Si false un fichier .zip sera renvoyé
dc.project.export.zip.cipher=true
# Cipher key (If changed, all the connectors password must be revalidate)
# The key is optional. If set it must be exactly 16 characters
# Must be the same as spark
# Cette propriété spécifie la clé de chiffrement utilisée pour le backend et Spark. (doit contenir exactement 16 caractères).
# Si cette clé est modifiée, tous les mots de passe des connecteurs doivent être validés à nouveau.
# Doit être le même que spark
dc.app.backend.cipher.key=
################################################
## Data Repository configuration ##
## Configuration du dépôt de données ##
################################################
# This property specifies the maximum number of headers allowed for the repository in the application. (2000 by default)
# Cette propriété spécifie le nombre maximum d'en-têtes autorisés pour le dépôt dans l'application. (2000 par défaut)
dc.app.repository.headers.max.number=2000
################################################
## Date ##
################################################
# Default timezone setting for dates
# This parameter allows you to set the default timezone for date handling in front end date pickers (DataBlocks/Sources filters and centering zones).
# Paramètre de fuseau horaire par défaut pour les dates
# Ce paramètre vous permet de définir le fuseau horaire par défaut pour la gestion des dates dans les sélecteurs de date (Filters de DataBlocks/Sources et zones de centrage) côté frontend."
dc.app.date.timezone=
Module Postgresql Datachain - Image dc/pg
No specific Adobis configuration. See https://hub.docker.com/_/postgres
Postgresql Exposure Module - Image dc/pg_expose
No Adobis-specific configuration. See https://hub.docker.com/_/postgres
Migration module - Image dc/pg_migration
Environment variables
Variable | Default value | Description |
---|---|---|
PG_DC_DUMP |
false |
Dump the Datachain database automatically each time this image is started. |
PG_HOST |
localhost |
DNS name of database: will generally be set to dc-pg. |
PG_PORT |
5432 |
Database port: should not be changed |
PG_USER |
postgres |
User to be used for dump and table migrations |
PG_PASSWORD |
changeIt |
Password to be used for dump and table migrations: should be changed via this parameter or the following parameter : PG_PASSWORD_FILE |
PG_PASSWORD_FILE |
Name of the "docker secret" file used to define the password to be used for table dumping and migrations: should be changed via this parameter or the previous one: PG_PASSWORD |
|
PG_DB |
adobis |
Database name |
PG_KC_DUMP |
false |
Dump keycloak database automatically each time this image is booted |
PG_KC_HOST |
localhost |
DNS name of keycloak database: usually set to dc-pg. |
PG_KC_PORT |
5432 |
Keycloak database port: Should not be changed |
PG_KC_USER |
postgres |
User to be used for keycloak table dump and migrations |
PG_KC_PASSWORD_FILE |
changeIt |
Password to be used for keycloak table dump and migration: should be changed via this parameter or the following parameter : PG_KC_PASSWORD_FILE |
PG_KC_PASSWORD_FILE |
pg_kc_password_file Name of the "docker secret" file used to define the password to be used for keycloak table dumping and migrations: should be changed via this parameter or the previous one : PG_KC_PASSWORD_FILE |
|
PG_KC_DB |
keycloak |
database name |
PG_EXPOSE_DUMP |
false |
Dump the Datachain exposure database automatically each time this image is started. |
PG_EXPOSE_DB |
expose |
Name of exposure database |
PG_EXPOSE_HOST |
localhost |
DNS name of exposure database: will generally be set to dc-pg. |
PG_EXPOSE_PORT |
5432 |
Exposure database port: Should not be changed |
PG_EXPOSE_USER |
postgres |
User to be used for show table dump and migrations |
PG_EXPOSE_PASSWORD |
changeIt |
pg_expose_password |
changeIt Password that will be used for dump and exposure table migrations: should be changed via this parameter or the following parameter : PG_EXPOSE_PASSWORD_FILE |
PG_EXPOSE_PASSWORD_FILE |
|
name of the "docker secret" file used to define the password to be used for show table dump and migrations: should be changed via this parameter or the previous one : PG_EXPOSE_PASSWORD |
KC_URL |
|
keycloak’s public url: to be changed. |
KC_REALM |
dc-realm |
Security realm for datachain: should only be changed if keycloak and datachain are installed specifically for this purpose. |
KC_ADMIN_USERNAME |
admin |
Keycloak administrator login for Master realm |
KC_ADMIN_PASSWORD |
changeIt |
Keycloak administrator password for master realm |
KC_ADMIN_PASSWORD_FILE |
|
name of the "docker secret" file used to define the keycloak administrator password for the master realm |
KC_DC_CLIENT_ID |
dc_backend |
keycloak client ID for backend: should not be modified |
KC_DC_FRONT_CLIENT_ID |
dc_front |
keycloak client id for frontend web_ui: should not be changed |
KC_DC_EXPOSITION_CLIENT_ID |
dc_exposition |
Keycloak client identifier for the exposure api: should not be modified |
KC_DC_USER_ROLE_NAME |
dc_user |
User role name: should not be modified |
KC_DC_ADMIN_ROLE_NAME |
dc_admin |
Admin role name: should not be changed |
KC_DC_PROJECT_ROLE_NAME |
dc_project |
Project role name: should not be changed |
KC_DC_MEMBER_ROLE_NAME |
dc_member |
member role name: should not be modified |
KC_PROXY_URL |
|
http proxy url if present between keycloak of this container (remains empty in a standard deployment case) |
KC_PROXY_PORT |
|
http proxy port if present between keycloak of this container (remains empty in standard deployment case) |
KC_PROXY_PROTOCOL |
http |
http proxy protocol if present between this container’s keycloak (remains empty in a standard deployment case) |
KC_MASTER_REALM |
master |
name of keycloak’s main realm |
KC_ADMIN_CLIENT_ID |
admin-cli |
Authentication module - Image dc/keycloak
Environment variables
For more information on native keycloak settings, please refer to https://www.keycloak.org/server/all-config
Variable | Default value | Description |
---|---|---|
KC_DB |
postgres |
Keycloak native setting - Base type - do not change |
KC_DB_URL_HOST |
dc-pg-keycloak |
dc-pg-keycloak - native keycloak setting - server dns name: should only be changed if database is outsourced |
KC_DB_URL_PORT |
5432 |
Keycloak native setting - port |
KC_DB_URL_DATABASE |
keycloak |
keycloak native setting - Database name |
KC_DB_USERNAME |
postgres |
keycloak native settings - keycloak user |
KC_DB_PASSWORD |
changeIt |
Keycloak native setting - password : Modify via this parameter or parameter KC_DB_PASSWORD_FILE |
KC_DB_PASSWORD_FILE |
name of "docker secret" file used to define database password |
|
KC_HEALTH_ENABLED |
true |
Keycloak native setting - enable monitoring URLs |
KC_METRICS_ENABLED |
true |
Keycloak native setting - enable monitoring metrics |
KC_FEATURES |
token-exchange |
Enable token exchange |
INTERNALIZATION_ENABLED |
true |
Keycloak native setting - enable internationalization |
INTERNALIZATION_LOCALES |
["fr", "en"] |
Keycloak native settings - Internationalization English/French |
INTERNALIZATION_DEFAULT_LOCALE |
fr |
keycloak native setting - French default |
KEYCLOAK_ADMIN |
admin |
Keycloak native settings - Keycloak administrator login for Master realm |
KEYCLOAK_ADMIN_PASSWORD |
changeIt |
keycloak_admin_password - Keycloak administrator password for master realm |
KEYCLOAK_ADMIN_PASSWORD_FILE |
keycloak_admin_password_file - Name of the "docker secret" file used to define the keycloak administrator password for the master realm. |
|
DC_DEFAULT_ADMIN_CREATE |
true |
Automatically create the first Datachain administrator (user with the Datachain administrator role in the dc_realms realm) |
DC_DEFAULT_ADMIN |
admin |
login of Datachain administrator in realm dc_realms |
DC_DEFAULT_ADMIN_PASSWORD |
changeIt |
Password for Datachain administrator in realm dc_realms |
DC_DEFAULT_ADMIN_PASSWORD_FILE |
name of the "docker secret" file used to define the password for the Datachain administrator in the dc_realms realm |
|
DATACHAIN_CLIENT_URL |
Datachain URL: *To be modified |
|
KEYCLOAK_FRONTEND_URL |
keycloak public url: Modify |
Postgres authentication module - Image dc/pg_keycloak
No specific Adobis configuration. See https://hub.docker.com/_/postgres
Cache/queue module - Image dc/redis
No Adobis-specific configuration. See https://redis.io/docs/management/config/