docker run -p 8080:8080 gentics/mesh-hsqldb
or
docker run \
-v mesh-uploads:/uploads \
-p 8080:8080 \
gentics/mesh-hsqldb
Component | Type | Version |
---|---|---|
ORM |
6.5.x |
|
Search Engine |
6.1.x |
|
Core Framework |
4.5.x |
|
Cluster management |
3.12.x |
|
Dependency Injection |
2.11.x |
The mesh image contains an empty Gentics Mesh server without any content. It, however, requires a tuning of a database storage, accessible from the image. In order to simplify things at the jumpstart, we have prepared a set of Docker images containing supported RDBMS drivers, among which is the one perfectly suitable for the demonstration purposes: mesh-sqldb, which contains a self-hosted, in-memory based HSQL database to play around with.
docker run -p 8080:8080 gentics/mesh-hsqldb
or
docker run \
-v mesh-uploads:/uploads \
-p 8080:8080 \
gentics/mesh-hsqldb
Other variant for an easy, yet production ready start is to use mesh-mariadb image, providing along an external instance of MariaDB 10.3+ database as a data storage, and a JDBC connector, which can be downloaded from the https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector [official website]. For instance, below is how a dedicated docker-compose
setup may look like.
First, initialize an empty database in your MariaDB, as well as its user. Example setup:
export MYSQL_DATABASE=mymeshdb
export MYSQL_USER=meshdbuser
export MYSQL_PASSWORD=no_one_can_guess
Install the isolation level for the database on start with the startup parameter.
--transaction-isolation=READ-COMMITTED
Alternatively, this can be done via SQL:
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
Set the database and access permissions up.
CREATE DATABASE mymeshdb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL PRIVILEGES ON mymeshdb.* TO 'meshdbuser'@'%';
Include the following mesh
container into your docker-compose.yml
:
mesh:
image: gentics/mesh-mariadb
volumes:
- mesh-uploads:/uploads
ports:
- '8080:8080'
environment:
MESH_DATABASE_ADDRESS: <host:port of a MariaDB. For instance, if the name of MariaDB container is `mariadb`, the content here will be `mariadb:3306`>
MESH_JDBC_DATABASE_NAME: mymeshdb
MESH_JDBC_CONNECTION_USERNAME: "meshdbuser"
MESH_JDBC_CONNECTION_PASSWORD: "no_one_can_guess"
MESH_INITIAL_ADMIN_PASSWORD: "admin"
MESH_INITIAL_ADMIN_PASSWORD_FORCE_RESET: "false"
MESH_BINARY_DIR: "/uploads"
Alternatively, the database configuration can be provided via mesh.yml
config file.
storageOptions:
retryLimit: 10
retryDelayMillis: 2000
databaseAddress: "mariadb:3306"
databaseName: "mymeshdb"
databaseConnectorClasspath: <path/to/downloaded/driver/and/connector>
connectionUsername: "meshdbuser"
connectionPassword: "no_one_can_guess"
showSql: false
formatSql: false
hikariOptions:
autocommit: false
connectionTimeout: 10000
idleTimeout: 600000
maxLifetime: 1800000
minimumIdleConnection: 10
maxPoolSize: 10
poolName: "MeshHikariCP"
registerMBeans: false
transactionIsolationLevel: null
leakDetectionThreshold: 0
synchronizeWrites: false
synchronizeWritesTimeout: 6000
Name | Description | Default Environment Setting |
---|---|---|
|
Location for fileuploads |
|
|
Location for configuration files |
- |
|
Location for the main keystore file which contains the cryptographic keys which are used to sign the JWT. |
|
|
Plugin data and configuration location |
|
|
Remaining data files (e.g. temp dirs, caches) |
- |
We also provide a ready to go docker-compose example stack for Gentics Mesh:
Single node setup with included Elasticsearch container:
Multi node clustering setup:
There is no dedicated installation procedure for Gentics Mesh. However, you will need to download a Gentics Mesh JAR and a database connector JAR file. An example of starting Mesh along with the HSQL in-memory mode database, assuming having both downloaded JARs in the same folder, looks as following:
java -cp mesh-database-connector-hsqldb-X.X.X.jar:mesh-server-X.X.X.jar com.gentics.mesh.server.ServerRunner
java -cp mesh-database-connector-hsqldb-X.X.X.jar;mesh-server-X.X.X.jar com.gentics.mesh.server.ServerRunner
On first startup, Gentics Mesh will create the data folder and subfolders, set a password for the keystore file and provide the mesh.yml
configuration file. See Installation Directory for a detailed discussion on Gentics Mesh files & folders.
Various command line arguments can be used to override or supplement previously configured settings.
usage: mesh.jar
-clusterName <name> Override the cluster name. Setting a
cluster name will also enable
clustering.
-disableElasticsearch Flag which can be used to disable the
Elasticsearch integration.
-elasticsearchUrl <url> Elasticsearch URL to be used.
-help This output
-httpPort <port> Override the configured server HTTP
port.
-initCluster Flag which can be used to initialise the
first instance of a cluster. This is
usually only used for testing or setup
of fresh cluster instances.
-nodeName <name> Override the configured node name.
-resetAdminPassword <password> Reset the admin password. It is advised
to change the password once again after
the reset has been performed. The
command will also recreate the admin
user if it can't be found in the system.
On first startup, Gentics Mesh will create all files and folders.
data binaryFiles # Folder for uploads binaryImageCache # Folder for resized and cached images tmp # Temporary directory config mesh.yml # Main Gentics Mesh configuration hazelcast.xml # Hazelcast cluster configuration keystore.jceks # Gentics Mesh keystore used to generate and validate JWT's logback.xml # Logging configuration file
Gentics Mesh ships with two configuration files:
The main configuration file
contains all settings for configuring the Gentics Mesh server. All settings are explained in the Configuration & Settings section.mesh.yml
All data of your Gentics Mesh instance can be found in the respective subfolders of
.data
The folder
contains all media assets of your projects including images and other files. binaryFiles
keeps resized versions of requested images. binaryImageCache
is used by Vert.x and other components e.g. for file uploads.tmp
This folder structure is the default. All paths can be configured in the main configuration file .
|
The keystore file, by default, is named
. On first startup, a password for the keystore file is created randomly and stored in keystore.jceks
.mesh.yml
The
folder contains the included Elasticsearch installation which will be started by default.elasticsearch
There are no external dependencies besides Java Runtime 11.
Production servers must be run on Linux. Work on Windows is neither guaranteed nor eligible for support. Running Gentics Mesh on Windows is encouraged via Docker Windows.
Each Gentics Mesh instance needs at least 1.5 GB heap memory.
A shared filesystem needs to be provided for the upload folder. This folder needs to be shared among all cluster instances. Using NFS is a typical choice for these folders.
The Gentics Mesh user interface has been designed mobile-first and does not impose any specific requirements other than enabled JavaScript. It can be used with any "modern" browser, i.e. IE11+ and latest versions of Chrome, Firefox, and Safari.
Environment variables will override settings within the mesh.yml
.
Variable | Description |
---|---|
MESH_DB_SYNC_WRITES |
Override the database sync writes flag. |
MESH_INITIAL_ADMIN_PASSWORD_FORCE_RESET |
Control whether a forced password reset should be triggered when creating the initial admin user. Default: true |
MESH_VERTX_EVENT_BUS_CHECK_INTERVAL |
Override the Vert.x eventBus check interval in ms. |
MESH_VERTX_EVENT_BUS_ERROR_THRESHOLD |
Override the Vert.x eventBus error threshold in ms. |
MESH_DEBUGINFO_LOG_PATTERN |
Override the log pattern |
MESH_CLUSTER_INIT |
Enable or disable the initial cluster database setup. This is useful for testing. |
MESH_PLUGIN_TIMEOUT |
Override the configured plugin timeout. |
MESH_LANGUAGES_FILE_PATH |
Override the path to the optional languages file |
MESH_S3_CORS_ALLOWED_METHODS |
Override the configured AWS S3 CORS allowed methods. |
MESH_GRAPHQL_SCHEMA_CACHE_SIZE |
Override the configured graphQl schema cache size. |
MESH_HIBERNATE_GENERATE_STATISTICS |
Set whether hibernate should generate statistics. |
MESH_HIBERNATE_SHOW_SQL |
Set whether the driver-specific SQL queries should be logged. |
MESH_S3_CORS_ALLOWED_ORIGINS |
Override the configured AWS S3 CORS allowed origins. |
MESH_START_IN_READ_ONLY |
Override the read only mode flag. |
MESH_ELASTICSEARCH_RETRY_LIMIT |
Override the retry limit. |
MESH_S3_BINARY_ENDPOINT |
Override the configured AWS S3 custom endpoint. |
MESH_ELASTICSEARCH_COMPLIANCE_MODE |
Override the search compliance mode. |
MESH_JDBC_DRIVER_CLASS |
Override the default JDBC driver class. |
MESH_HTTPS_PORT |
Override the configured server https port. |
MESH_ELASTICSEARCH_PREFIX |
Override the configured elasticsearch prefix. |
MESH_BINARY_METADATA_WHITELIST |
Override the metadata whitelist |
MESH_DEBUGINFO_LOG_FOLDER |
Override the path to the debug info log folder |
MESH_IMAGE_MANIPULATION_MODE |
Override the image manipulation mode. |
MESH_S3_BINARY_CACHE_BUCKET |
Override the configured AWS S3 bucket. |
HIKARI_CP_POOL_NAME |
This property represents a user-defined name for the connection pool and appears mainly in logging and JMX management consoles to identify pools and pool configurations. |
MESH_S3_BINARY_SECRET_ACCESS_KEY |
Override the configured AWS S3 secret access key. |
MESH_HTTP_VERTICLE_AMOUNT |
Override the http verticle amount. |
MESH_BINARY_CHECK_INTERVAL |
Override the binary check interval |
MESH_JDBC_RETRY_LIMIT |
Override the default transaction retry count. |
HIKARI_CP_REGISTER_MBEANS |
This property controls whether or not JMX Management Beans ("MBeans") are registered or not. |
MESH_CLUSTER_ENABLED |
Override cluster enabled flag. |
MESH_DATABASE_ADDRESS |
Override the database address. |
MESH_JDBC_CONNECTION_USERNAME |
Set the JDBC connection username. |
MESH_BINARY_DOCUMENT_PARSER |
Override the document parser enabled flag. |
HIKARI_CP_MAX_POOL_SIZE |
This property controls the maximum size that the pool is allowed to reach, including both idle and in-use connections. Basically this value will determine the maximum number of actual connections to the database backend. A reasonable value for this is best determined by your execution environment. When the pool reaches this size, and no idle connections are available, calls to getConnection() will block for up to connectionTimeout milliseconds before timing out. |
MESH_DB_CONNECTOR_CLASSPATH |
Set the Mesh Database Connector classpath. |
MESH_ELASTICSEARCH_HOSTNAME_VERIFICATION |
Override the configured hostname verification flag. |
MESH_IMAGE_MAX_HEIGHT |
Override the max height for image resize operations. |
HIKARI_CP_MIN_IDLE_CONNECTION |
This property controls the minimum number of idle connections that HikariCP tries to maintain in the pool. If the idle connections dip below this value and total connections in the pool are less than maximumPoolSize, HikariCP will make a best effort to add additional connections quickly and efficiently. However, for maximum performance and responsiveness to spike demands, we recommend not setting this value and instead allowing HikariCP to act as a fixed size connection pool. |
MESH_ELASTICSEARCH_EVENT_BUFFER_SIZE |
Override the configured event buffer size. |
MESH_ELASTICSEARCH_CERT_PATH |
Override the configured trusted server certificate. |
MESH_FIELD_CONTAINER_CACHE_SIZE |
Override the field container cache size. |
MESH_AUTH_TOKEN_EXP |
Override the configured JWT expiration time. |
MESH_S3_BINARY_PARSER_LIMIT |
Override the configured parser limit. |
MESH_HTTP_SSL_CERT_PATH |
Override the configured SSL enable flag. |
MESH_MONITORING_HTTP_HOST |
Override the configured monitoring http server host which is used to bind to. |
MESH_BINARY_UPLOAD_LIMIT |
Override the configured binary byte upload limit. |
MESH_JDBC_CONNECTION_PASSWORD |
Set the JDBC connection password. |
MESH_VERTX_ORDERED_BLOCKING_HANDLERS |
Override the configured Vert.x blocking handlers ordering setting. |
MESH_STORAGE_DISK_QUOTA_READ_ONLY_THRESHOLD |
Overwrite the disk quota ready only threshold. |
MESH_CLUSTER_VERTX_PORT |
Override the vert.x eventbus server port. |
MESH_S3_BINARY_METADATA_WHITELIST |
Override the metadata whitelist |
MESH_MIGRATION_TRIGGER_INTERVAL |
Override the migration trigger interval |
MESH_CLUSTER_NAME |
Override the cluster name. |
MESH_ELASTICSEARCH_BULK_DEBOUNCE_TIME |
Override the bulk debounce time. |
MESH_DEBUGINFO_LOG_FILE_SIZE |
Override the log file size |
MESH_AUTH_ANONYMOUS_ENABLED |
Override the configured anonymous enabled flag. |
MESH_DB_SQL_PARAMETERS_LIMIT |
Limit the number of SQL parameters in selected lookup queries. Can be either `definedByDatabase` or `unlimited` or a custom number (greater than zero). Default is: definedByDatabase |
MESH_HIBERNATE_QUERY_TIMEOUT |
Query timeout for hibernate. Default: 0 |
MESH_UPDATECHECK |
Override the configured updatecheck flag. |
MESH_S3_BINARY_BUCKET |
Override the configured AWS S3 bucket. |
MESH_HTTP_CORS_ORIGIN_PATTERN |
Override the configured CORS allowed origin pattern. |
MESH_HIBERNATE_FORMAT_SQL |
Set whether the driver-specific SQL queries should be formatted while logged. |
MESH_CONTENT_AUTO_PURGE |
Override the content versioning flag |
MESH_GRAPHQL_SLOW_THRESHOLD |
Override the configured slow graphQl query threshold. |
MESH_CACHE_PATH_SIZE |
Override the path cache size. |
MESH_HTTP_CORS_ALLOW_CREDENTIALS |
Override the configured CORS allowed credentials flag. |
MESH_HIBERNATE_SLOW_SQL_THRESHOLD |
Slow SQL query threshold in milliseconds. Default: 60000 |
MESH_S3_BINARY_EXPIRATION_TIME_DOWNLOAD |
Override the configured AWS S3 download time. |
MESH_ELASTICSEARCH_MAPPING_MODE |
Override the search mapping mode. |
MESH_ELASTICSEARCH_INCLUDE_BINARY_FIELDS |
Override the search include binary fields flag. |
MESH_MAX_MIGRATION_BATCH_SIZE |
Override the maximum migration batch size |
MESH_HTTP_SSL_CLIENT_AUTH_MODE |
Override the configured client certificate handling mode. |
MESH_CLUSTER_COORDINATOR_REGEX |
Override the cluster coordinator regex. |
MESH_S3_CORS_ALLOWED_HEADERS |
Override the configured AWS S3 CORS allowed headers. |
MESH_HTTP_SSL_TRUSTED_CERTS |
Override the configured trusted SSL certificates. |
MESH_AUTH_PUBLIC_KEYS_PATH |
Override the configured public keys file path. |
MESH_S3_BINARY_ACCESS_KEY_ID |
Override the configured AWS S3 access key id. |
MESH_DEFAULT_LANG |
Override the configured default language. |
HIKARI_CP_IDLE_TIMEOUT |
This property controls the maximum amount of time that a connection is allowed to sit idle in the pool. This setting only applies when minimumIdle is defined to be less than maximumPoolSize. Idle connections will not be retired once the pool reaches minimumIdle connections. Whether a connection is retired as idle or not is subject to a maximum variation of +30 seconds, and average variation of +15 seconds. A connection will never be retired as idle before this timeout. A value of 0 means that idle connections are never removed from the pool. The minimum allowed value is 10000ms (10 seconds). |
MESH_ELASTICSEARCH_IDLE_DEBOUNCE_TIME |
Override the idle debounce time. |
MESH_JDBC_DATABASE_NAME |
Override the default database name. |
MESH_STORAGE_DISK_QUOTA_CHECK_INTERVAL |
Overwrite the disk quota check interval. |
MESH_ELASTICSEARCH_WAIT_FOR_IDLE |
Override the search idle wait flag. |
MESH_IMAGE_JPEG_QUALITY |
Override the JPEG quality for image resize operations. |
MESH_ELASTICSEARCH_USERNAME |
Override the configured Elasticsearch connection username. |
MESH_MONITORING_ENABLED |
Override the configured monitoring enabled flag. |
MESH_HTTP_CORS_ENABLE |
Override the configured CORS enable flag. |
MESH_DEBUGINFO_LOG_ENABLED |
Enables the debug info log |
LICENSEKEY |
The license key |
MESH_S3_BINARY_EXPIRATION_TIME_UPLOAD |
Override the configured AWS S3 upload time. |
MESH_MONITORING_HTTP_PORT |
Override the configured monitoring server http port. |
MESH_ELASTICSEARCH_TIMEOUT |
Override the configured elasticsearch server timeout. |
MESH_HTTP_SERVER_TOKENS |
Override the http server tokens flag. |
MESH_VERTX_EVENT_BUS_WARN_THRESHOLD |
Override the Vert.x eventBus warn threshold in ms. |
MESH_ELASTICSEARCH_INDEX_CHECK_INTERVAL |
Override the interval for index checks |
MESH_HTTP_MINIFY_JSON |
Override the minify JSON flag. |
MESH_HTTP_USE_ALPN |
Override the configured ALPN usage flag. |
MESH_LIST_FIELD_CACHE_SIZE |
Override the list field cache size. |
MESH_CONTENT_BATCH_SIZE |
Override the batch page size. Default: 5000 |
MESH_PLUGIN_DIR |
Override the configured plugin directory. |
MESH_ELASTICSEARCH_BULK_LENGTH_LIMIT |
Override the batch bulk length limit. Default: 5000000 |
HIKARI_CP_AUTOCOMMIT |
This property controls the default auto-commit behavior of connections returned from the pool. It is a boolean value. |
MESH_AUTH_KEYSTORE_PASS |
Override the configured keystore password. |
MESH_S3_BINARY_ENABLED_KEY |
Override cluster enabled flag. |
MESH_ELASTICSEARCH_INDEX_MAPPING_CACHE_TIMEOUT |
Override the timeout for the cache if index mappings |
MESH_PLUGIN_USE_HTTP2 |
Override the HTTP/2 usage flag for plugins. |
LICENSEKEY_PATH |
Override the default licence key file path. |
MESH_HIBERNATE_NATIVE_QUERY_FILTERING |
Override the configured native query filtering. |
MESH_HIBERNATE_SECOND_LEVEL_CACHE_ENABLED |
Set whether second-level cache should be enabled. |
MESH_TEMP_DIR |
Override the configured temp directory. |
MESH_IMAGE_RESAMPLE_FILTER |
Override the sample filter for image resize operations. |
MESH_AUTH_KEYSTORE_PATH |
Override the configured keystore path. |
MESH_BINARY_DOCUMENT_PARSER_LIMIT |
Override the configured parser limit. |
MESH_ELASTICSEARCH_BULK_LIMIT |
Override the batch bulk limit. Default: 100 |
MESH_JDBC_DIALECT_CLASS |
Override the default JDBC dialect class. |
MESH_STALE_TX_CHECK_INTERVAL |
Overwrite the interval (in ms) for periodic check for stale transactions. |
MESH_BINARY_DIR |
Override the configured binary data directory. |
MESH_HTTP_SSL_KEY_PATH |
Override the configured SSL enable flag. |
MESH_CLUSTER_NETWORK_HOST |
Override the cluster network host. |
MESH_ELASTICSEARCH_CA_PATH |
Override the configured common authority certificate path. |
MESH_IMAGE_MAX_WIDTH |
Override the max width for image resize operations. |
MESH_ELASTICSEARCH_SYNC_BATCH_SIZE |
Override the search sync batch size |
MESH_LIVE_PATH |
Path to the mesh live file. |
MESH_HTTP_ENABLE |
Override the configured http server flag. |
MESH_HTTP_PORT |
Override the configured server http port. |
MESH_HTTP_SSL_ENABLE |
Override the configured https server flag. |
MESH_MONITORING_JVM_METRICS_ENABLED |
Override the configured JVM metrics enabled flag. |
HIKARI_CP_MAX_LIFETIME |
This property controls the maximum lifetime of a connection in the pool. An in-use connection will never be retired, only when it is closed will it then be removed. On a connection-by-connection basis, minor negative attenuation is applied to avoid mass-extinction in the pool. We strongly recommend setting this value, and it should be several seconds shorter than any database or infrastructure imposed connection time limit. A value of 0 indicates no maximum lifetime (infinite lifetime), subject of course to the idleTimeout setting. The minimum allowed value is 30000ms (30 seconds). |
MESH_MAX_PURGE_BATCH_SIZE |
Override the maximum purge batch size. |
MESH_LOCK_PATH |
Path to the mesh lock file. |
HIKARI_CP_CONNECTION_TIMEOUT |
This property controls the maximum number of milliseconds that a client (that's you) will wait for a connection from the pool. If this time is exceeded without a connection becoming available, a SQLException will be thrown. Lowest acceptable connection timeout is 250 ms. |
MESH_TX_RETRY_DELAY_SECONDS |
Override the default transaction retry delay interval. |
MESH_S3_BINARY_CACHE_REGION |
Override the configured AWS S3 region. |
MESH_STORAGE_DISK_QUOTA_WARN_THRESHOLD |
Overwrite the disk quota warn threshold. |
MESH_HTTP_HOST |
Override the configured http server host which is used to bind to. |
MESH_JDBC_CONNECTION_URL_EXTRA_PARAMS |
Add the default JDBC connection URL extra params. |
MESH_ELASTICSEARCH_PASSWORD |
Override the configured Elasticsearch connection password. |
MESH_ELASTICSEARCH_RETRY_INTERVAL |
Override the retry interval. |
MESH_VERTX_WORKER_POOL_SIZE |
Override the configured Vert.x worker pool size. |
MESH_ELASTICSEARCH_URL |
Override the configured elasticsearch server url. The value can be set to null in order to disable the Elasticsearch support. |
MESH_S3_BINARY_LINK_RESOLVER |
Override the configured AWS S3 link resolver. |
HIKARI_CP_LEAK_DETECTION_THRESHOLD |
This property controls the amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak. A value of 0 means leak detection is disabled. Lowest acceptable value for enabling leak detection is 2000 (2 seconds). |
HIKARI_CP_TRANSACTION_ISOLATION_LEVEL |
This property controls the default transaction isolation level of connections returned from the pool. If this property is not specified, the default transaction isolation level defined by the JDBC driver is used. Only use this property if you have specific isolation requirements that are common for all queries. The value of this property is the constant name from the Connection class such as TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ. Setting it to null defaults to isolation level defined in the JDBC driver. |
MESH_INITIAL_ADMIN_PASSWORD |
Password which will be used during initial admin user creation. |
MESH_GRAPHQL_ASYNC_WAIT_TIMEOUT |
Override the configured graphQl async wait timeout. |
MESH_AUTH_JWT_ALGO |
Override the configured algorithm which is used to sign the JWT. |
MESH_IMAGE_CACHE_DIRECTORY |
Override the path for image cache directory. |
MESH_HTTP_SERVER_MAX_FORM_ATTRIBUTE_SIZE |
Override the max form attribute size |
MESH_VERTX_EVENT_POOL_SIZE |
Override the configured Vert.x event pool size. |
MESH_HIBERNATE_JDBC_BATCH_SIZE |
Set batch size. Recommended values are between 5 and 30 |
MESH_S3_BINARY_REGION |
Override the configured AWS S3 region. |
MESH_S3_BINARY_CACHE_EXPIRATION_TIME_DOWNLOAD |
Override the configured AWS S3 download time. |
MESH_BINARY_UPLOAD_TEMP_DIR |
Override the configured upload temporary directory. |
MESH_DB_SYNC_WRITES_TIMEOUT |
Override the database sync write timeout. |
MESH_NODE_NAME |
Override the configured node name. |
All settings can be found in the main
configuration file, that contains various settings for configuring HTTP & SSL, the database connection and configuration, and file upload.mesh.yml
Both files are located directly in the installation directory.
---
defaultMaxDepth: 10
defaultLanguage: "en"
languagesFilePath: null
updateCheck: true
vertxOptions:
workerPoolSize: 20
eventPoolSize: 2
orderedBlockingHandlers: true
eventBus:
checkInterval: 30000
warnThreshold: 60000
errorThreshold: 120000
s3options:
enabled: false
bucket: null
expirationTimeUpload: 60000
expirationTimeDownload: 360000
linkResolver: null
metadataWhitelist: null
parserLimit: 40000
region: null
secretAccessKey: null
accessKeyId: null
endpoint: null
s3cacheOptions:
bucket: null
expirationTimeDownload: 360000
expirationTimeUpload: 60000
region: null
corsAllowedHeaders:
- "*"
corsAllowedOrigins:
- "*"
corsAllowedMethods:
- "GET"
- "PUT"
- "POST"
- "DELETE"
tempDirectory: "/opt/mesh/data/tmp"
pluginDirectory: "plugins"
pluginTimeout: 120
nodeName: null
startInReadOnly: false
versionPurgeMaxBatchSize: 10
migrationMaxBatchSize: 50
migrationTriggerInterval: 60000
pluginUseHttp2: false
storageOptions:
nativeQueryFiltering: "ON_DEMAND"
retryLimit: 10
retryDelayMillis: 2000
driverClass: null
dialectClass: null
databaseAddress: null
connectionUrlExtraParams: ""
databaseName: "mesh"
databaseConnectorClasspath: ""
connectionUsername: "admin"
connectionPassword: "admin"
showSql: false
formatSql: false
hikariOptions:
autocommit: false
connectionTimeout: 10000
idleTimeout: 600000
maxLifetime: 1800000
minimumIdleConnection: 20
maxPoolSize: 20
poolName: "MeshHikariCP"
registerMBeans: false
transactionIsolationLevel: null
leakDetectionThreshold: 0
synchronizeWrites: false
synchronizeWritesTimeout: 60000
secondLevelCacheEnabled: false
generateStatistics: false
queryTimeout: 0
slowSqlThreshold: 60000
jdbcBatchSize: 5
sqlParametersLimit: "definedByDatabase"
staleTxCheckInterval: 10000
licenseKeyPath: "license.key"
licenseKey: null
httpServer:
port: 8080
sslPort: 8443
host: "0.0.0.0"
corsAllowedOriginPattern: ""
corsAllowCredentials: false
useAlpn: false
enableCors: false
http: true
ssl: false
certPath: "config/cert.pem"
keyPath: "config/key.pem"
clientAuthMode: "NONE"
trustedCertPaths: []
verticleAmount: 2
minifyJson: true
maxFormAttributeSize: -1
serverTokens: true
monitoring:
enabled: true
port: 8081
host: "127.0.0.1"
jvmMetricsEnabled: true
cluster:
networkHost: null
enabled: false
clusterName: null
vertxPort: 4848
coordinatorRegex: null
search:
url: "http://localhost:9200"
username: null
password: null
certPath: null
caPath: null
hostnameVerification: true
timeout: 60000
prefix: "mesh-"
bulkLimit: 100
bulkLengthLimit: 5000000
eventBufferSize: 1000
bulkDebounceTime: 2000
idleDebounceTime: 100
retryInterval: 5000
retryLimit: 3
waitForIdle: true
includeBinaryFields: true
mappingMode: "DYNAMIC"
complianceMode: "ES_6"
syncBatchSize: 50000
indexCheckInterval: 60000
indexMappingCacheTimeout: 3600000
upload:
byteLimit: 262144000
directory: "data/binaryFiles"
tempDirectory: "/opt/mesh/data/tmp/temp-uploads"
parserLimit: 40000
parser: true
metadataWhitelist: null
checkInterval: 60000
security:
tokenExpirationTime: 3600
keystorePassword: "<Your Password>"
keystorePath: "config/keystore.jceks"
algorithm: "HS256"
enableAnonymousAccess: true
publicKeysPath: "config/public-keys.json"
image:
mode: "ON_DEMAND"
imageCacheDirectory: "data/binaryImageCache"
maxWidth: 2048
maxHeight: 2048
jpegQuality: 0.95
resampleFilter: "LANCZOS"
content:
autoPurge: true
batchSize: 5000
cache:
pathCacheSize: 20000
fieldContainerCacheSize: "50_000"
listFieldCacheSize: "50_000"
debugInfo:
logFolder: "debuginfo"
logFileSize: "5MB"
logEnabled: true
logPattern: "%d{HH:mm:ss.SSS} [%meshName] %-5level [%thread] [%file:%line] - %msg%n"
graphQL:
slowThreshold: 60000
asyncWaitTimeout: 120000
schemaCacheSize: 1000
Configuration | Type | Default | Description |
---|---|---|---|
|
Flag |
true |
An update check to the Gentics Mesh update server will be invoked during startup if this flag is set to true. |
|
String |
en |
Default language which serves as a fallback when no language has been specified within a request. |
|
List |
- |
List of Vert.x java verticle classes which will be loaded during startup. |
|
Path |
data/tmp |
Path to the main temporary filesystem directory. |
|
Path |
- |
Optional path to a JSON file containing additional languages. |
|
Flag |
false |
If true, Gentics Mesh will be started in read only mode. |
|
Number |
10 |
The maximum amount of node versions that are purged before the database transaction is committed. |
By default Gentics Mesh already contains all ISO 639-1 (two letter) language codes. By using the languagesFilePath
setting it is possible to provide a custom languages file which can include additional language definitions.
{
"sq-KS": {
"name": "Albanian (Kosovo)",
"nativeName": "Shqip (Kosovo)"
}
}
The mesh-compose project contains a full example configuration which shows how to add a custom language. |
See HTTPs configuration.
Property | Mandatory | Type | Description |
---|---|---|---|
certPath |
false |
string |
Flag which indicates whether SSL support be enabled. |
clientAuthMode |
false |
string |
Configure the client certificate handling mode. Options: none, request, required. Default: none |
corsAllowCredentials |
false |
boolean |
Flag which indicates whether credentials are allowed to be passed along using CORS requests. |
corsAllowedOriginPattern |
false |
string |
Configured CORS allowed origin pattern. You can specify a regex to include multiple hosts if you want to do so. |
enableCors |
false |
boolean |
Flag which indicates whether CORS handling should be enabled. |
host |
false |
string |
Configure the Gentics Mesh HTTP server host to bind to. Default is: 0.0.0.0 |
http |
false |
boolean |
Flag which indicates whether http server should be enabled. Default: true |
keyPath |
false |
string |
Path to the SSL private key. Default: config/key.pem |
maxFormAttributeSize |
false |
integer |
Set the maximum size of a form attribute, set to -1 for unlimited. |
minifyJson |
false |
boolean |
Minify JSON responses to save the payload space. Default is true |
port |
false |
integer |
Configure the Gentics Mesh HTTP server port. Default is: 8080 |
serverTokens |
false |
boolean |
Set the http server tokens flag which controls whether the server should expose version information via headers, REST endpoints and GraphQL. Default is true |
ssl |
false |
boolean |
Flag which indicates whether https server should be enabled. Default: false |
sslPort |
false |
integer |
Configure the Gentics Mesh HTTPS server port. Default is: 8443 |
trustedCertPaths |
false |
array |
Configure the trusted SSL certificates. |
useAlpn |
false |
boolean |
Flag which indicates whether application-level protocol negotiation (aka ALPN) should be used. Normally HTTP/2 connections need this. |
verticleAmount |
false |
integer |
Amount of rest API verticles to be deployed. Default is 2 * CPU Cores |
Property | Mandatory | Type | Description |
---|---|---|---|
clusterName |
false |
string |
Name of the cluster. Only instances with a common cluster name will form a cluster. |
coordinatorRegex |
false |
string |
The coordinator regex can be used to control which nodes in the cluster are eligible to be elected in a coordinator master election. When left empty all database master nodes are eligible. |
enabled |
false |
boolean |
Flag to enable or disable the cluster mode. |
networkHost |
false |
string |
IP or host which is used to announce and reach the instance in the cluster. Gentics Mesh will try to determine the IP automatically but you may use this setting to override this automatic IP handling. |
vertxPort |
false |
integer |
Port used by Vert.x for the eventbus server. Default: 4848 |
By default all specified directories are relative to the installation directory.
Property | Mandatory | Type | Description |
---|---|---|---|
connectionPassword |
false |
string |
JDBC connection password. |
connectionUrlExtraParams |
false |
string |
JDBC connection URL extra parameters. |
connectionUsername |
false |
string |
JDBC connection username. |
databaseAddress |
false |
string |
Database address in HOST<:PORT> format. |
databaseConnectorClasspath |
false |
string |
Mesh Database Connector classpath. This can be a path to either a connector JAR file, or a folder structure containing all the necessary JARs. Symlinks are supported. |
databaseName |
false |
string |
Database name. |
dialectClass |
false |
string |
Optional Hibernate dialect class name. User this to override the default database connector provided dialect class. |
driverClass |
false |
string |
Optional JDBC driver class name. Use this to override the default database connector provided driver class. |
formatSql |
false |
boolean |
Are actual SQL queries formatted during logging? |
generateStatistics |
false |
boolean |
Enable generation of hibernate statistics |
hikariOptions |
true |
object |
HikariCP (connection pool) options. |
jdbcBatchSize |
false |
integer |
Hibernate JDBC Batch Size. Recommended values are between 5 and 30 |
nativeQueryFiltering |
false |
string |
Enables the native database level filtering for queries. Default: ON_DEMAND |
queryTimeout |
false |
integer |
Global query timeout limit in milliseconds. A timeout value of zero means there is no query timeout. |
retryDelayMillis |
false |
integer |
Transaction wait interval between retries, in milliseconds. |
retryLimit |
false |
integer |
Transaction retry count. |
secondLevelCacheEnabled |
false |
boolean |
Enable Hibernate second-level cache |
showSql |
false |
boolean |
Are actual SQL queries logged? |
slowSqlThreshold |
false |
integer |
Define a threshold in milliseconds, upon which a SQL query is considered slow and produces a log warning. |
sqlParametersLimit |
false |
string |
SQL parameter number limit. |
staleTxCheckInterval |
false |
integer |
Interval in ms for periodic check for stale transactions. Defaults to 10000 ms. |
synchronizeWrites |
false |
boolean |
Flag which controls whether writes to the database should be synchronized. Setting this flag improves the stability of massive database updates, by the cost of overall performance. Default: false |
synchronizeWritesTimeout |
false |
integer |
Set the timeout in milliseconds for the sync write lock. Default: 60000 |
Property | Mandatory | Type | Description |
---|---|---|---|
checkInterval |
false |
integer |
Check interval in ms. Setting this to 0 will disable the disk quota check. Default: 10000 |
readOnlyThreshold |
false |
string |
Threshold for the disk quota ready only level. This can be set either as percentage (e.g. 10%) or as absolute disk space (e.g. 5G). If less than the defined disk space is available, Mesh will automatically be set to readonly. Default: 1G |
warnThreshold |
false |
string |
Threshold for the disk quota warn level. This can be set either as percentage (e.g. 15%) or as absolute disk space (e.g. 10G). If less than the defined disk space is available, warnings will be logged. Default: 3G |
Property | Mandatory | Type | Description |
---|---|---|---|
bulkDebounceTime |
false |
integer |
The maximum amount of time in milliseconds between two bulkable requests before they are sent. Default: 2000 |
bulkLengthLimit |
false |
integer |
Upper limit for the total encoded string length of the bulk requests. Default: 5000000 |
bulkLimit |
false |
integer |
Upper limit for the size of bulk requests. Default: 100 |
caPath |
false |
string |
Path to the trusted common authority certificate (PEM format) |
certPath |
false |
string |
Path to the trusted server certificate (PEM format). This setting can be used when the Elasticsearch server is using a self-signed certificate which would otherwise not be trusted. |
complianceMode |
false |
string |
This setting controls the compliance mode for Elasticsearch. Currently supported modes are ES_6, ES_7 and ES_8. Default: ES_6 |
eventBufferSize |
false |
integer |
Upper limit for mesh events that are to be mapped to elastic search requests. Default: 1000 |
hostnameVerification |
false |
boolean |
Flag which controls whether hostname verification should be enabled. Default: true |
idleDebounceTime |
false |
integer |
The maximum amount of time in milliseconds between two successful requests before the idle event is emitted. Default: 100 |
includeBinaryFields |
false |
boolean |
If true, the content and metadata of binary fields will be included in the search index. Default: true |
indexCheckInterval |
false |
integer |
Set the interval of index checks in ms. Default: 60000 |
indexMappingCacheTimeout |
false |
integer |
Set the timeout for the cache of index mappings in ms. Default: 3600000 |
mappingMode |
false |
string |
This setting controls the mapping mode of fields for Elasticsearch. When set to STRICT only fields which have a custom mapping will be added to Elasticsearch. Mode DYNAMIC will automatically use the Gentics Mesh default mappings which can be supplemented with custom mappings. Default: DYNAMIC |
password |
false |
string |
Password to be used for Elasticsearch authentication. |
prefix |
false |
string |
Search server prefix for this installation. Choosing different prefixes for each Gentics Mesh instance will allow you to use a single Elasticsearch cluster for multiple Gentics Mesh instances. Default: mesh- |
retryInterval |
false |
integer |
The time in milliseconds between retries of elastic search requests in case of a failure. Default: 5000 |
retryLimit |
false |
integer |
The amount of retries on a single request before the request is discarded. Default: 3 |
syncBatchSize |
false |
integer |
Configure the index sync batch size. Default: 50000 |
timeout |
false |
integer |
Timeout for Elasticsearch operations. Default: 60000ms |
url |
false |
string |
Elasticsearch connection url to be used. Set this setting to null will disable the Elasticsearch support. |
username |
false |
string |
Username to be used for Elasticsearch authentication. |
waitForIdle |
false |
boolean |
If true, search endpoints wait for elasticsearch to be idle before sending a response. Default: true |
Property | Mandatory | Type | Description |
---|---|---|---|
byteLimit |
false |
integer |
The upload size limit in bytes. Default: 262144000 (250 MB) |
checkInterval |
false |
integer |
Interval in milliseconds for performing binary check requests for binary fields where a check service URL is defined. For values less than one the check is disabled. (default: 60000). |
directory |
false |
string |
Path binary data storage directory. Fileuploads will be placed here. |
metadataWhitelist |
false |
array |
If set, the parser will only extract metadata with the keys specified in the list. |
parser |
false |
boolean |
If true, the document parser will process uploads and extract metadata and contents. Default: true |
parserLimit |
false |
integer |
The parser limit for uploaded documents (pdf, doc, docx). Default: 40000 |
tempDirectory |
false |
string |
Path to the file upload temporary directory. Inbound file uploads will be placed here before they are processed. |
Property | Mandatory | Type | Description |
---|---|---|---|
algorithm |
true |
string |
Algorithm which is used to verify and sign JWT. |
enableAnonymousAccess |
false |
boolean |
Flag which indicates whether anonymous access should be enabled. |
keystorePassword |
true |
string |
The Java keystore password for the keystore file. |
keystorePath |
true |
string |
Path to the java keystore file which will be used to store cryptographic keys. |
publicKeysPath |
false |
string |
Path to the public keys file which contains a list of additional JWK formatted public keys which will be used to verify JWTs. |
tokenExpirationTime |
true |
integer |
Time in minutes which an issued token stays valid. |
A file with additional public keys can be specified via the publicKeysPath
property. The public keys from this file will be used to validate JWT’s which were not issued by Gentics Mesh. This is especially useful when using Gentics Mesh with external OIDC / OAuth2 providers.
The keys have to be specified in the JWK format.
{
"keys": [
{
"kid": "lGX_LDchDZWZoUMcdn3cfTtPTUpp0ZIzHorijXn5igU",
"kty": "RSA",
"alg": "RS256",
"use": "sig",
"n": "m01o1DS-eTG7r7yZdtpkk_x9isOHfrFsF0KM1-zR0lFAVwb7BSK9fOZonUESZmPKEWZv9AOQgGKY6BAk_VOZqjZVEgpvgRCHpvguSYMF3ow8dyJSk1WMd7qp5Aq9wlc__L8eksNIh8-BxiptpfqVEyYTjsoJ2s87Cg3aVT6rhsU0KtGOE-xg00H4rI_6r_WjBt52Jgnu02P-nNhE8kVLsm1Dk9ZEvBVC55df51mpkAhzLKEOXAKLCXr9JEw73dhaGG6MJ9EGeFE5J4NKtcJlYS15IpEGk2B8A-BlE_Pc7c77R80HfH9EEV_GvLVYq0ZN_ei10uXkOj6ChA8JvSbkUQ",
"e": "AQAB",
"x5c": [
"MIICmzCCAYMCBgFwH+cutjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZtYXN0ZXIwHhcNMjAwMjA3MTM0NTA5WhcNMzAwMjA3MTM0NjQ5WjARMQ8wDQYDVQQDDAZtYXN0ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbTWjUNL55MbuvvJl22mST/H2Kw4d+sWwXQozX7NHSUUBXBvsFIr185midQRJmY8oRZm/0A5CAYpjoECT9U5mqNlUSCm+BEIem+C5JgwXejDx3IlKTVYx3uqnkCr3CVz/8vx6Sw0iHz4HGKm2l+pUTJhOOygnazzsKDdpVPquGxTQq0Y4T7GDTQfisj/qv9aMG3nYmCe7TY/6c2ETyRUuybUOT1kS8FULnl1/nWamQCHMsoQ5cAosJev0kTDvd2FoYbown0QZ4UTkng0q1wmVhLXkikQaTYHwD4GUT89ztzvtHzQd8f0QRX8a8tVirRk396LXS5eQ6PoKEDwm9JuRRAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAG5FUbZ+O/D68KdDJEP3ozl1DaiB8d2ESdfY+VkUAbZQ8OCw2uIc1boWGMc1cgVEC0I3UgNf0yOWYb8B4TlkkSfKojgKzanJN+lZPD6kdxgSx97NnuasKQiSCSyxGX9Ho5HoiHPlcMCl8f0R2ODPQJfPPIqh6+2wxJLCPkkqNO3Nvp98IS/EV6L4VNtecZvS09BeUc4LxFKqlnAZwQ5E7oCUXDmDKWlpdIei0XErhEasvbOYfVdcZhgty0xLrn9wCG+0HAt1uxf8y00Sl80f5dcIoPKgyOHtTYQV3U22ZgATt2CJmHUJjku6ALjAPkMgIgnzWTZZV186T+I7aiYtBes="
],
"x5t": "PxgAp5rbw5v52HdIC6jDlQxh37M",
"x5t#S256": "AMquThnlmJHomcZV1zl89FMHyEl4QJHsqNf1QU8xK8M"
}
]
}
Property | Mandatory | Type | Description |
---|---|---|---|
enabled |
false |
boolean |
Enable or disable the monitoring system. Default is: true |
host |
false |
string |
Configure the Gentics Mesh monitoring HTTP server host to bind to. Default is: 127.0.0.1 |
jvmMetricsEnabled |
false |
boolean |
Enable or disable the measuring of JVM metrics. Default is: true |
port |
false |
integer |
Configure the Gentics Mesh monitoring HTTP server port. Default is: 8081 |
Property | Mandatory | Type | Description |
---|---|---|---|
imageCacheDirectory |
false |
string |
Configure the path for image cache directory. Default: data/binaryImageCache |
jpegQuality |
false |
number |
Configure the quality of the output of JPEG images. Must be a value between inclusive 0 and inclusive 1. Default: 0.95 |
maxHeight |
false |
integer |
Configure the maximum allowed image resize height. Resizing is a memory intensive operation and thus this limit can help avoid memory issues. Default: 2048 |
maxWidth |
false |
integer |
Configure the maximum allowed image resize width. Resizing is a memory intensive operation and thus this limit can help avoid memory issues. Default: 2048 |
mode |
false |
string |
Configure the image manipulation mode. Default: ON_DEMAND. |
resampleFilter |
false |
string |
Configure the filter that is used when resizing images. Default: LANCZOS |
Property | Mandatory | Type | Description |
---|---|---|---|
pathCacheSize |
false |
integer |
Set the maximum size of the path cache. A value of 0 will disable the cache. Default: 20000 |
Property | Mandatory | Type | Description |
---|---|---|---|
logEnabled |
false |
boolean |
Enables the debug info log. |
logFileSize |
false |
string |
The maximum file size of a single log file. |
logFolder |
false |
string |
The path of the folder where the debug info log is stored. |
logPattern |
false |
string |
The pattern used for each log line. For the detailed pattern format description please refer to the Logback documentation. Default value is: %d{HH:mm:ss.SSS} [%meshName] %-5level [%thread] [%file:%line] - %msg%n |
Property | Mandatory | Type | Description |
---|---|---|---|
asyncWaitTimeout |
false |
integer |
Threshold for waiting for asynchronous graphql queries. Default: 120000ms |
schemaCacheSize |
false |
integer |
Cache size for graphQl Schema instances. Setting this to 0 will disable the cache. Default: 1000 |
slowThreshold |
false |
integer |
Threshold for logging slow graphql queries. Default: 60000ms |
Property | Mandatory | Type | Description |
---|---|---|---|
accessKeyId |
false |
string |
AWS S3 access key id |
bucket |
false |
string |
AWS S3 bucket where binaries will be uploaded to and downloaded from |
corsAllowedHeaders |
false |
array |
AWS S3 setting for allowed headers for Cross-Origin Resource Sharing. Setting this to null will force default server values. |
corsAllowedMethods |
false |
array |
AWS S3 setting for allowed methods for Cross-Origin Resource Sharing. Setting this to null will force default server values. |
corsAllowedOrigins |
false |
array |
AWS S3 setting for allowed origins for Cross-Origin Resource Sharing. Setting this to null will force default server values. |
enabled |
false |
boolean |
Flag to enable or disable the S3 engine. |
endpoint |
false |
string |
AWS S3 custom endpoint |
expirationTimeDownload |
false |
integer |
After this time in milliseconds the AWS S3 URL used for download will expire. |
expirationTimeUpload |
false |
integer |
After this time in milliseconds the AWS S3 URL used for upload will expire. |
linkResolver |
false |
string |
Style of linkResolving:'s3' (default) resolved Links will render a pre-signed URL directly to S3 OR 'mesh' resolved Links will render a mesh-url |
metadataWhitelist |
false |
array |
If set, the parser will only extract metadata with the keys specified in the list. |
parserLimit |
false |
integer |
The parser limit for uploaded documents (pdf, doc, docx). |
region |
false |
string |
AWS S3 region |
s3cacheOptions |
false |
object |
S3 Cache Bucket Options. |
secretAccessKey |
false |
string |
AWS S3 secret access key |
Property | Mandatory | Type | Description |
---|---|---|---|
bucket |
false |
string |
AWS S3 bucket where transformed/resized images will be uploaded to and downloaded from. |
expirationTimeDownload |
false |
integer |
After this time in milliseconds the AWS S3 URL used for download of a transformed image will expire. |
region |
false |
string |
AWS S3 region for transformed / resized images |
Memory settings can be defined using the JAVA_TOOL_OPTIONS
environment variable.
Setting | Description |
---|---|
|
Maximum heap size of the Gentics Mesh Java process |
|
Initial heap size of the Gentics Mesh Java process |
|
Stack size. A larger stack size may be required when deleting deep datasets. The default value is 1MB. |
|
Maximum direct memory limit. Direct memory is mostly used for IO buffers. |
The total amount of required memory is the roughly sum of heap memory
+ direct memory
+ disk cache
+ (stack size
* thread count
) + 256 MB (JVM base memory)
.
The following numbers serve the purpose to roughly estimate the memory requirements for different sized projects in a non-clustered setup.
Node Count | Memory Setting |
---|---|
0 to 100 |
|
100 to 1_000 |
|
1_000 to 10_000 |
|
10_000 to 100_000 |
|
100_000 to 1_000_000 |
|
The following numbers serve the purpose to roughly estimate the memory requirements for different sized projects in a clustered setup.
Node Count | Memory Setting |
---|---|
0 to 100 |
|
100 to 1_000 |
|
1_000 to 10_000 |
|
10_000 to 100_000 |
|
100_000 to 1_000_000 |
|
By default an admin
user will be created during initial startup. The password of this user will be printed in the log.
It is mandatory to update the admin password during the first login.
For demo installations the password is admin .
|
Additional admin users can be created by setting the admin
flag the users.
The admin access can be restored via the use of the resetAdminPassword mesh server argument.
|
The debug info endpoint (GET /api/v2/admin/debuginfo) starts a zip download containing various useful data about the system.
The documentation below lists all files that are included in the zip.
Per default everything except the consistency check is included in the zip. You can use the ?include
query parameter to include or exclude specific parts.
For example /api/v2/admin/debuginfo?include=-backup,consistencyCheck
will exclude the database backup and include the consistency checks.
Query name: activeConfig
The effective configuration that is currently used in the system. This includes overrides by command line argument and environment variables.
Query name: binaryDiskUsage
The total file size of all stored binaries and cached images.
Query name: config
The following files from the config
folder:
mesh.yml
hazelcast.xml
logback.xml
Query name: consistencyCheck
Performs a consistency check and includes the result.
Query name: entities
Includes the following entities as json:
All jobs
All Schemas
All Microschemas
All Projects
All Branches
Query name: log
Includes the latest debug log output of Gentics Mesh. Check the debug info options for more options.
Query name: migrationStatus
Includes the schema migration status and mircoschema migration status for every branch of every project.
Query name: systemInfo
Contains the following informations about the system:
System load average
JVM memory usage
JVM arguments
Disk space usage (of the file system where Gentics Mesh is running)
Query name: threadDump
A dump of all threads including all stack traces.
Gentics Mesh can be put into read only mode. In this mode, all requests that would change data (create, update, delete) are not allowed and return a `405ยด status code instead.
This is useful in cluster situations when having instances as replicas or when performing rolling updates.
Read only mode can be activated in one of the following ways:
Setting the entry startInReadOnly
to true
in the configuration file before starting will start Gentics Mesh in read only mode.
Setting the environment variable MESH_START_IN_READ_ONLY
to true
before starting will start Gentics Mesh in read only mode.
Using the REST API. Changing read only mode in this way will take immediate effect.
Updating Gentics Mesh is very simple. You stop the current instance and start it again using the new version. A process is invoked which will check whether any automatic changes need to be applied.
Downgrading is possible but not recommended. You can however downgrade your Gentics Mesh instance
if the database revision hash of the current database matches up with the revision which is required
by the version which is being started. You can check your current database revision via the /api/v2
endpoint.
The database revisions are automatically controlled by Liquibase. No user managed functionality is available.
It is possible to verify the database integrity via the GET /api/v2/admin/consistency/check
endpoint.
The response contains information about the found inconsistencies and whether they have a repair action.
{
"outputTruncated" : false,
"result" : "INCONSISTENT",
"repairCount" : { },
"inconsistencies" : [ {
"description" : "A dangling field container has been found.",
"severity" : "LOW",
"elementUuid" : "c5ac82fa1a9c43b6ac82fa1a9ca3b61c",
"repaired" : false,
"repairAction" : "DELETE"
} ]
}
The POST /api/v2/admin/consistency/repair
endpoint can be used to invoke a check and repair of repairable inconsistencies.
The repaired
property will be set to true if the inconsistency could be fixed.
{
"outputTruncated" : false,
"result" : "INCONSISTENT",
"repairCount" : { },
"inconsistencies" : [ {
"description" : "A dangling field container has been found.",
"severity" : "LOW",
"elementUuid" : "c5ac82fa1a9c43b6ac82fa1a9ca3b61c",
"repaired" : true,
"repairAction" : "DELETE"
} ]
}
Gentics Mesh is published under Apache 2.0 license.
GraphiQL is owned and developed by Facebook Inc. Usage is subject to the LICENSE AGREEMENT For GraphiQL software.