Docker plugin extension
To customise how the Docker plugin behaves, the Genesis low-code platform provides a Gradle plugin extension.
The table below describes the values that can be changed:
|When set to ||false|
|Allows you to provide a map of the environment variables that will be passed to the containers created by the extra tasks enabled with debugMode|
This has no effect, unless
|When set to |
Extra yum packages include: vim, net-tools
|When using the extra debug tasks, this setting allows you to specify a custom Docker network for the containers to use.|
This has no effect unless
|Defines whether the container should use a specific log4j configuration file that is designed for our containers.|
When set to
|When set to |
This results in a slower build process, but dramatically decreases the start-up time of the container.
These settings should be set in the server/jvm/appname-deploy/build.gradle.kts file:
"DB_HOST" to "172.17.0.2"
Local plugin configuration
The Genesis low-code platform also supports overrides of the Docker extension configuration, allowing for different values for different environments. This means that you can set your own values without changing any files that are tracked in SCM.
This is done by adding server/jvm/appname-deploy/gradle.properties and ensuring that the file is ignored by SCM.
|Extension Config||Gradle Properties Equivalent||Notes|
|This should be a comma-separated list.|
Below is a list of environment variables that can be passed to the Docker container at runtime.
|Allows you to see the output of a remap without committing it.|
This option only has an effect if it’s used with
|Runs a remap and then a |
This should only be used during the initial DB setup, as it will ignore the migration hooks.
GENESIS_DB_UPGRADE should be used for any further DB schema changes.
The container will exit on completion and will not run any Genesis processes.
The container will exit on completion and will not run any Genesis processes
You can also set System Definitions values from environment variables, which allows you to change the location of external dependencies (such as the database) between your production and non-production environments.