Skip to main content

Docker Compose

Deployment with Docker Compose

With Docker Compose you can deploy, orchestrate and scale TimeBase.

  1. Install Docker
  2. Install Docker Compose
  3. Get an official TimeBase Community Edition Docker image.
  4. Download and configure docker-compose.yml TimeBase file
  5. Run docker-compose up -d
# docker-compose.yml Community Edition example

version: "3"
services:
timebase:
image: "finos/timebase-ce-server:6.1.9"
stop_grace_period: 5m
ulimits:
nofile:
soft: 65536
hard: 65536
environment:
- JAVA_OPTS=
-Xms8g
-Xmx8g
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/timebase-home/timebase.hprof
-Xlog:gc=debug:file=/timebase-home/GClog-TimeBase.log:time,uptime,level,tags:filecount=5,filesize=100m
ports:
- 8011:8011
volumes:
- "./timebase-home:/timebase-home"

timebase-admin:
image: "epam/timebase-ws-server:1.0"
environment:
- JAVA_OPTS=
-Xmx1g
-Dserver.port=8099
-Dtimebase.url=dxtick://timebase:8011
-Dserver.compression.enabled=true
-Dserver.compression.mime-types=text/html,text/css,application/javascript,application/json
ports:
- 8099:8099
depends_on:
- timebase

TimeBase Deployment with SSL

Here is basic (minimal) instructions for TimeBase deployment with SSL

Docker Compose

Configure docker-compose.yml file.

# docker-compose.yml Community Edition example

version: "3"
services:
timebase:
image: "finos/timebase-ce-server:6.1.9"
stop_grace_period: 5m
ulimits:
nofile:
soft: 65536
hard: 65536
environment:
- JAVA_OPTS=
-Xms8g
-Xmx8g
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/timebase-home/timebase.hprof
-Xlog:gc=debug:file=/timebase-home/GClog-TimeBase.log:time,uptime,level,tags:filecount=5,filesize=100m
ports:
- 8011:8011 //TimeBase Server port
- 8022:8022 //SSL port
volumes:
- "./timebase-home:/timebase-home"

timebase-admin:
image: "epam/timebase-ws-server:1.0"
environment:
- JAVA_OPTS=
-Xmx1g
-Dserver.port=8099
-Dtimebase.url=dxtick://timebase:8011
-Dserver.compression.enabled=true
-Dserver.compression.mime-types=text/html,text/css,application/javascript,application/json
ports:
- 8099:8099
depends_on:
- timebase
info

Refer to Enable SSL for additional information.

admin.properties

In admin.properties configuration file specify the following parameters to enable SSL:

TimeBase.sslInfo=QSKeystoreInfo
TimeBase.sslInfo.keystoreFile=test.jks //security certificate file
TimeBase.sslInfo.keystorePass=<password>
TimeBase.enableSSL=true //enable SLL
TimeBase.sslInfo.sslPort=8022 //SSL port same as in docker-compose
TimeBase.sslInfo.sslForLoopback=false

Create a JKS file in case you use a self-signed certificate. Specify JKS file name for keystoreFile and a password for keystorePass.

info

Refer to Enable SSL for additional information.

TimeBase Deployment with UAC

In admin.properties configuration file specify the following parameters to enable UAC:

QuantServer.security.rulesConfig=uac-access-rules.xml //users authorization information
QuantServer.security.userDirectoryConfig=uac-file-security.xml //users authentication information
QuantServer.security=FILE
info

Refer to User Access Control for additional information.

Useful Commands

  • docker compose images - show you component versions.
  • docker compose logs CONTAINER_NAME - display log output from service.
  • Use docker compose logs -f CONTAINER_NAME to follow log output.