TIBCO EBX Container Edition is tested with the Docker Engine version 20.10.
TIBCO EBX Container Edition is tested with one of the latest stable Kubernetes versions available at the time of product testing before the release.
Current TIBCO EBX Container Edition release was tested with a certified Kubernetes implementation version 1.23.
To start EBX® with default configuration that includes an embedded H2 database, execute command:
docker run -p 8080:8080 -d ebx:6.0.10
Using a browser, you can connect to EBX® with URL http://localhost:8080. This will display the first-launch assistant that will help you configure EBX®.
For more information on the first launch assistant, see chapter Initialization and first-launch assistant.
To start EBX® with automatic initialisation on first startup and an embedded H2 database, execute command:
docker run -d -p 8080:8080 \ -e "EBX_FLA_DISABLED=true" \ -e "EBX_INSTALL_ADMIN_PASSWORD=<password>" \ ebx:6.0.10
The EBX® repository will be automatically created on first startup.
Using a browser, you can connect to EBX® with URL http://localhost:8080. This will display the EBX® login screen. The username for administrator is admin and the password is the one specified in previous command.
Note
It’s possible to specify another username for the administrator. For more information see Automatic repository installation on first launch.
For details a supported browsers see: Supported Web Browsers.
The following command will start a bash shell inside the EBX® container:
docker exec -it <container-id> bash
This chapter describes the environment variables supported by EBX® Container Edition.
All are optional.
For security reasons, one might want to disable the first-launch assistant in all circumstances.
This is achieved by setting environment variable to EBX_FLA_DISABLED to true.
If the repository is not yet initialized and first-launch assistant is disabled, EBX® will automatically trigger its installation if following mandatory variables are provided:
Name | Default | Description |
---|---|---|
EBX_INSTALL_ADMIN_LOGIN | admin | Sets the EBX® administrator login name. This parameter is ignored if repository variable EBX_FLA_DISABLED value is not true or if repository is already initialized. |
EBX_INSTALL_ADMIN_PASSWORD | Sets the EBX® administrator login name. This parameter is mandatory if EBX_FLA_DISABLED value is true and is ignored if repository variable EBX_FLA_DISABLED value is not true or if repository is already initialized. |
Note
If mandatory variables are not provided, EBX® will display an error message.
Example
To automatically install repository launch EBX® using following command:
docker run -d -p 8080:8080 \ -e "EBX_FLA_DISABLED=true" \ -e "EBX_INSTALL_ADMIN_LOGIN=<login-name>" \ -e "EBX_INSTALL_ADMIN_PASSWORD=<password>" \ ebx:6.0.10
Some EBX® features require generating URLs. Specific configuration may be required to achieve this, for example if EBX® is running behind a reverse proxy or on a Kubernetes cluster.
Name | Default | Description |
---|---|---|
EBX_IS_SECURED | If incoming request is HTTPS, "true" is assumed or else "false" is assumed. | If "true", the protocol "HTTPS" is assumed. If "false", the protocol "HTTP" is assumed. |
EBX_HOSTNAME | The host name specified by the incoming HTTP(S) request. | The EBX® server host name. |
EBX_PORT | The port number specified by the incoming HTTP(S) request. | The EBX® server port number. |
EBX_ROOT_PATH | By default, the context path is empty. | If set, all EBX® urls will be prefixed by this value. The value must have a leading / and must not have a trailing / except if value is /. For example a valid value is /mdm/sales. Setting this variable is useful when running more than one instance of EBX with the same host name. |
EBX_URL_DEFAULT | This environment variable is used when a background task needs to calculate a URL to EBX. It should be set to a full URL without the path component (EBX_ROOT_PATH applies for the path component). For example a valid value is: https://host_name. If EBX_URL_DEFAULT is not specified and EBX_HOSTNAME is specified, a default is caculated with following assumptions: - If EBX_IS_SECURED is not specified, 'false' is assumed, - If EBX_PORT is not specified, 443 is assumed if EBX_IS_SECURED is true or else 80 is assumed. |
For information on supported databases see chapter Supported databases.
By default, an embedded H2 database is used. Data for this H2 database is persisted at location /ebx/data/h2.
An external database may be configured using following variables:
Name | TIBCO EBX® main configuration file equivalent | Description |
---|---|---|
EBX_DB_FACTORY | ebx.persistence.factory | Specifies the type of database server. |
EBX_DB_URL | ebx.persistence.url | The JDBC URL. It has format: jdbc:postgresql://<database_host>:<database_port_number>/<database_name>. |
EBX_DB_USER | ebx.persistence.user | The database user id. |
EBX_DB_PASSWORD | ebx.persistence.password | The database user password. |
For more information on these variables see their TIBCO EBX® main configuration file equivalent in chapter Configuring the EBX® repository.
Note
The container includes JDBC drivers only for H2, PostgreSQL and Microsoft SQL Server. Using other databases that are supported by EBX® require adding the driver.
For instructions on how to add a driver, see Adding a new JDBC driver.
Example
To start EBX® that connects to a Postgres database, execute following command:
docker run -d -p 8080:8080 \ -e "EBX_DB_FACTORY=postgresql" \ -e "EBX_DB_URL=jdbc:postgresql://<server_name>:5432/<database_name>" \ -e "EBX_DB_USER=<user_name>" \ -e "EBX_DB_PASSWORD=<user_name>" \ ebx:6.0.10
The EBX Mail service can be configured through the following environment variables :
Name | TIBCO EBX® main configuration file equivalent | Default | Description |
---|---|---|---|
EBX_SMTP_HOST | ebx.mail.smtp.host | SMTP server host name. | |
EBX_SMTP_PORT | ebx.mail.smtp.port | SMTP server port number. | |
EBX_SMTP_LOGIN | ebx.mail.smtp.login | SMTP server login id. | |
EBX_SMTP_PASSWORD | ebx.mail.smtp.password | SMTP server login password. | |
EBX_SMTP_SSL_ENABLED | ebx.mail.smtp.ssl.activate | true | Enables SSL. Value can be 'true' or 'false'. |
EBX_WORKFLOW_MAIL_SENDER | ebx.manager.workflow.mail.sender | The workflow sender email. If not set, Workflows cannot send notifications. |
More information on the used properties can be found in chapter Activating and configuring SMTP and emails.
Environment variables JAVA_MEMORY_PERCENT may be used to configure the percentage of the container memory that is assigned to the JVM the runs EBX®. It must be an integer value between 0 and 100.
If not set, a default value is used at startup.
Note
This variable is for advanced usage. Setting it too low or too high may cause runtime issues.
Basic authentication for REST services is not enabled by default.
To enable this feature set environment variable EBX_REST_AUTHENTICATION_BASIC to true.
Two Java property files are currently used to configure EBX®.
On startup EBX® reads property files in the following order:
/opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties
/my_custom/conf/ebx-container.properties
The file /opt/ebx/webapps/ebx/WEB-INF/ebx-default.properties sets default EBX® configuration properties for the container.
It should never be modified at runtime as this may prevent easily updating EBX® to a next version, instead use /opt/ebx/conf/ebx-container.properties.
The file /opt/ebx/conf/ebx-container.properties is by default empty. Any property value specified here will override the value set by ebx-default.properties.
This file is useful to change a property at runtime. To change a property at run time, create a new file, for example /my_custom/conf/ebx-container.properties, containing the new property values and mount de parent folder from the host to the container:
docker run -v /my-custom/conf:/opt/ebx/conf -p 8080:8080 -d ebx:6.0.10
For the list of properties supported by EBX® see chapter TIBCO EBX® main configuration file.
This image defines the following volumes:
Location | Description |
---|---|
/ebx/data | The EBX® root directory is located in this volume. It contains EBX® indexes and, when H2 embedded database is used, persisted data. |
/ebx/logs | This volume is used for log files. |
/ebx/temp | This volume is used for temporary files. |
Note
The volume /ebx/data should be mapped to a persistent volume even when an external database is used. If not, EBX will have to rebuild its indexes on startup which may considerably increase boot time.
The Linux process running EBX is owned by user ebx (uid 1500).
User ebx’s primary group is ebx (guid 1500).
Logs are sent to the stdout and stderr output streams and can be viewed using the following command:
docker logs <container-id>
Logs for both EBX® and Tomcat will be displayed.
Log files are also available under folder /ebx/logs:
EBX® logs files are in folder /ebx/logs/ebx
Tomcat logs files are in folder /ebx/logs/tomcat.