TIBCO Software Inc. EBX®
Documentation > Administration Guide > EBX® Container Edition
Navigation modeDocumentation > Administration Guide > EBX® Container Edition

Running the image

Support Policy

Docker

TIBCO EBX Container Edition is tested with the Docker Engine version 20.10.

Kubernetes

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.

Starting EBX®

First-launch assistant

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.

Automatic initialization

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.

Supported browsers

For details a supported browsers see: Supported Web Browsers.

Container access

The following command will start a bash shell inside the EBX® container:

docker exec -it <container-id> bash

Environment variables

This chapter describes the environment variables supported by EBX® Container Edition.

All are optional.

Disabling First-launch assistant

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.

Automatic repository installation on first launch

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:

NameDefaultDescription

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

URL configuration

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.

NameDefaultDescription

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.

Database connectivity

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:

NameTIBCO EBX® main configuration file equivalentDescription

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

Email connectivity

The EBX Mail service can be configured through the following environment variables :

NameTIBCO EBX® main configuration file equivalentDefaultDescription

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.

Memory configuration

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.

Authentication for REST services

Basic authentication for REST services is not enabled by default.

To enable this feature set environment variable EBX_REST_AUTHENTICATION_BASIC to true.

Configuration files

Two Java property files are currently used to configure EBX®.

On startup EBX® reads property files in the following order:

File ebx-default.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.

File 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.

Volumes

This image defines the following volumes:

LocationDescription

/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.

Linux user and group

The Linux process running EBX is owned by user ebx (uid 1500).

User ebx’s primary group is ebx (guid 1500).

Logs access

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:

Documentation > Administration Guide > EBX® Container Edition