Configuration
Variables
Data Fair supports quite a large number of parameters that are documented below. We try as much as possible to define sensible default values, still some parameters will almost always need to be overridden, these parameters have IMPORTANT in their descriptions.
Parameters can be overridden by directly modifying the files, but the recommanded way is to use environment variables.
Key in config file | Env variable | Description | Default value |
---|---|---|---|
port | PORT | 8080 | |
mode | MODE | Use this parameter to run both the Web server and the dataset processing loop or run them separately. Pissible values: "server_worker", "server", "worker". | server_worker |
publicUrl | PUBLIC_URL | IMPORTANT. The URL where the server will be exposed. For example https://koumoul.com/data-fair | http://localhost:8080 |
oldPublicUrl | OLD_PUBLIC_URL | ||
wsPublicUrl | WS_PUBLIC_URL | IMPORTANT. The URL where the Web socket server will be exposed. For example wss://koumoul.com/data-fair | ws://localhost:8080 |
sessionDomain | SESSION_DOMAIN | null | |
directoryUrl | DIRECTORY_URL | IMPORTANT. The URL where the user management service will be exposed. For example https://koumoul.com/s/simple-directory | http://localhost:8080 |
privateDirectoryUrl | PRIVATE_DIRECTORY_URL | null | |
openapiViewerUrl | OPENAPI_VIEWER_URL | https://koumoul.com/openapi-viewer/ | |
captureUrl | CAPTURE_URL | http://capture:8080 | |
privateCaptureUrl | PRIVATE_CAPTURE_URL | null | |
notifyUrl | NOTIFY_URL | null | |
privateNotifyUrl | PRIVATE_NOTIFY_URL | null | |
notifyWSUrl | NOTIFY_WS_URL | null | |
subscriptionUrl | SUBSCRIPTION_URL | null | |
mongo.url | MONGO_URL | mongodb://localhost:27017/data-fair-production | |
mongo.maxBulkOps | MONGO_MAX_BULK_OPS | 1000 | |
mongo.options | MONGO_OPTIONS | {} | |
cache.publicMaxAge | CACHE_PUBLIC_MAX_AGE | 300 | |
cache.timestampedPublicMaxAge | CACHE_TIMESTAMPED_PUBLIC_MAX_AGE | 604800 | |
cache.mongoSize | CACHE_MONGO_SIZE | 2000 | |
analytics | ANALYTICS | JSON configuration of analytics, matches the "modules" part of the configuration for this library vue-multianalytics | {} |
elasticsearch.host | ES_HOST | localhost:9200 | |
elasticsearch.nodes | ES_NODES | null | |
elasticsearch.auth | ES_AUTH | null | |
elasticsearch.options | ES_OPTIONS | {} | |
elasticsearch.ca | ES_CA | null | |
elasticsearch.defaultAnalyzer | ES_DEFAULT_ANALYZER | custom_french | |
elasticsearch.maxBulkLines | ES_MAX_BULK_LINES | Maximum number of lines when sending indexing in bulk into ElasticSearch. | 2000 |
elasticsearch.maxBulkChars | ES_MAX_BULK_CHARS | Maximum number of chars when sending indexing in bulk into ElasticSearch. | 200000 |
elasticsearch.maxShardSize | ES_MAX_SHARD_SIZE | 10000000000 | |
elasticsearch.nbReplicas | ES_NB_REPLICAS | 1 | |
secretKeys.identities | SECRET_IDENTITIES | null | |
secretKeys.limits | SECRET_LIMITS | null | |
secretKeys.notifications | SECRET_NOTIFICATIONS | null | |
secretKeys.masterData | SECRET_MASTER_DATA | undefined | |
globalWebhooks.consumption | WEBHOOKS_CONSUMPTION | [] | |
brand.logo | BRAND_LOGO | A link to an image with your logo. | null |
brand.title | BRAND_TITLE | The name of your organization or another name for the service. | Data Fair |
brand.description | BRAND_DESCRIPTION | Find, Access, Interoperate, Reuse data on the Web | |
brand.url | BRAND_URL | A link to use on the top left logo. | null |
brand.embed | BRAND_EMBED | null | |
theme.dark | THEME_DARK | false | |
theme.colors.primary | THEME_PRIMARY | #1E88E5 | |
theme.colors.secondary | THEME_SECONDARY | #42A5F5 | |
theme.colors.accent | THEME_ACCENT | #FF9800 | |
theme.colors.error | THEME_ERROR | #FF5252 | |
theme.colors.info | THEME_INFO | #2196F3 | |
theme.colors.success | THEME_SUCCESS | #4CAF50 | |
theme.colors.warning | THEME_WARNING | #E91E63 | |
theme.darkColors.primary | THEME_DARK_PRIMARY | #2196F3 | |
theme.darkColors.secondary | THEME_DARK_SECONDARY | undefined | |
theme.darkColors.accent | THEME_DARK_ACCENT | undefined | |
theme.darkColors.error | THEME_DARK_ERROR | undefined | |
theme.darkColors.info | THEME_DARK_INFO | undefined | |
theme.darkColors.success | THEME_DARK_SUCCESS | #00E676 | |
theme.darkColors.warning | THEME_DARK_WARNING | undefined | |
theme.cssUrl | THEME_CSS_URL | null | |
theme.cssText | THEME_CSS_TEXT | ||
darkModeSwitch | DARK_MODE_SWITCH | true | |
defaultLimits.totalStorage | DEFAULT_LIMITS_TOTAL_STORAGE | -1 | |
defaultLimits.totalIndexed | DEFAULT_LIMITS_TOTAL_INDEXED | -1 | |
defaultLimits.datasetStorage | DEFAULT_LIMITS_DATASET_STORAGE | -1 | |
defaultLimits.datasetIndexed | DEFAULT_LIMITS_DATASET_INDEXED | -1 | |
defaultLimits.nbDatasets | DEFAULT_LIMITS_NB_DATASETS | -1 | |
defaultLimits.maxSpreadsheetSize | DEFAULT_LIMITS_MAX_SPREADSHEET_SIZE | 50000000 | |
worker.interval | WORKER_INTERVAL | 4000 | |
worker.concurrency | WORKER_CONCURRENCY | Number of tasks processes in parallel. Tasks are all asynchronous processings on datasets (file format analysis, indexing, extending, etc.) | 4 |
worker.spawnTask | WORKER_SPAWN_TASK | true | |
worker.errorRetryDelay | WORKER_ERROR_RETRY_DELAY | 600000 | |
browserLogLevel | BROWSER_LOG_LEVEL | error | |
listenWhenReady | LISTEN_WHEN_READY | false | |
applications | APPLICATIONS | [{"url":"https://koumoul.com/apps/infos-parcelles/2.7/"},{"url":"https://koumoul.com/apps/infos-loc/0.10/"},{"url":"https://cdn.jsdelivr.net/npm/@data-fair/app-charts@0.10/dist/"},{"url":"https://koumoul.com/apps/word-cloud/0.3/"},{"url":"https://koumoul.com/apps/sankey/0.5/"},{"url":"https://koumoul.com/apps/sunburst/0.2/"},{"url":"https://koumoul.com/apps/data-fair-networks/0.1/"},{"url":"https://koumoul.com/apps/list-details/0.4/"},{"url":"https://koumoul.com/apps/carto-stats/0.6/"},{"url":"https://koumoul.com/apps/data-fair-series/0.2/"},{"url":"https://koumoul.com/apps/bar-chart-race/0.2/"},{"url":"https://koumoul.com/apps/data-fair-geo-shapes/0.1/"},{"url":"https://koumoul.com/apps/scdl-deliberations/0.1/"},{"url":"https://koumoul.com/apps/scdl-equipements/0.1/"},{"url":"https://koumoul.com/apps/data-fair-events/1.0/"},{"url":"https://koumoul.com/apps/atelier-carto/1.0/"},{"url":"https://koumoul.com/apps/admin-divs-levels/0.3/"},{"url":"https://koumoul.com/apps/data-fair-proportions/0.2/"},{"url":"https://cdn.jsdelivr.net/npm/@data-fair/app-carousel@0.2/dist/"},{"url":"https://koumoul.com/apps/data-fair-form/1.0/"},{"url":"https://koumoul.com/apps/data-fair-radar/0.1/"},{"url":"https://koumoul.com/apps/data-fair-locate-game/0.1/"},{"url":"https://koumoul.com/apps/data-fair-quizz/0.1/"},{"url":"https://koumoul.com/apps/data-fair-sort-game/0.1/"},{"url":"https://koumoul.com/apps/data-fair-relations/0.2/"},{"url":"https://koumoul.com/apps/app-table/0.1/"},{"url":"https://koumoul.com/apps/data-fair-table/0.1/"},{"url":"https://koumoul.com/apps/app-treemap/0.2/"},{"url":"https://koumoul.com/apps/admin-divs-catchment/0.1/"}] | |
applicationsPrivateMapping | APPLICATIONS_PRIVATE_MAPPING | ["",""] | |
applicationsDirectories | APPLICATIONS_DIRECTORIES | ["https://koumoul.com/apps/","https://staging-koumoul.com/apps/","https://koumoul-dev.github.io/","https://data-fair.github.io/","https://cdn.jsdelivr.net/npm/@koumoul/","https://cdn.jsdelivr.net/npm/@data-fair/","https://cdn.jsdelivr.net/npm/iframe-resizer"] | |
baseAppsCategories | BASE_APPS_CATEGORIES | ["carte","graphique","textuelle","SCDL"] | |
remoteServices | REMOTE_SERVICES | [{"title":"Données Entreprises","url":"https://koumoul.com/s/sirene/api-docs.json"},{"title":"Géocoder","url":"https://koumoul.com/s/geocoder/api/v1/api-docs.json"},{"title":"Cadastre","url":"https://koumoul.com/s/cadastre/api-docs.json"},{"title":"Service de données cartographiques","url":"https://koumoul.com/s/tileserver/api/v1/api-docs.json"}] | |
remoteServicesPrivateMapping | REMOTE_SERVICES_PRIVATE_MAPPING | ["",""] | |
defaultRemoteKey.value | DEFAULT_REMOTE_KEY | Default API key to use when calling remote services. | null |
catalogs | CATALOGS | [{"title":"Data.gouv.fr","href":"https://www.data.gouv.fr","logo":"https://static.data.gouv.fr/_themes/gouvfr/img/logo-header.svg"}] | |
disableSharing | DISABLE_SHARING | false | |
disableApplications | DISABLE_APPLICATIONS | false | |
disableRemoteServices | DISABLE_REMOTE_SERVICES | false | |
disablePublicationSites | DISABLE_PUBLICATION_SITES | false | |
info.termsOfService | INFO_TOS | ||
info.contact | INFO_CONTACT | {"name":"","url":""} | |
ogr2ogr.skip | OGR2OGR_SKIP | false | |
ogr2ogr.timeout | OGR2OGR_TIMEOUT | 360000 | |
extraNavigationItems | EXTRA_NAV_ITEMS | [] | |
extraAdminNavigationItems | EXTRA_ADMIN_NAV_ITEMS | [] | |
dateFormats | DATE_FORMATS | ["D/M/YYYY","D/M/YY","YYYY/M/D"] | |
dateTimeFormats | DATE_TIME_FORMATS | ["D/M/YYYY H:m","D/M/YY H:m","D/M/YYYY, H:m","D/M/YY, H:m","D/M/YYYY H:m:s","D/M/YY H:m:s","D/M/YYYY, H:m:s","D/M/YY, H:m:s","YYYY-MM-DDTHH:mm:ss","YYYY-MM-DD HH:mm:ss"] | |
defaultTimeZone | DEFAULT_TIME_ZONE | Europe/Paris | |
i18n.locales | I18N_LOCALES | List of locales split by commas | fr,en |
i18n.defaultLocale | I18N_DEFAULT_LOCALE | fr | |
observe.active | OBSERVE_ACTIVE | true | |
observe.port | OBSERVE_PORT | 9090 | |
agentkeepaliveOptions | AGENTKEEPALIVE_OPTIONS | {"maxSockets":128,"maxFreeSockets":128,"timeout":60000,"freeSocketTimeout":30000} | |
exportRestDatasets.cron | EXPORT_REST_DATASETS_CRON | 0 6 * * 0 | |
clamav.active | CLAMAV_ACTIVE | false | |
clamav.host | CLAMAV_HOST | localhost | |
clamav.port | CLAMAV_PORT | 3310 | |
clamav.dataDir | CLAMAV_DATA_DIR | /data/data-fair |