Docker¶
ubTrace uses Docker extensively for application deployment and internal testing.
Some Docker images are available for users, while others are used only internally.
Because ubTrace requires running multiple applications (typically 2–3) on separate containers,
we use docker compose
to manage and configure service relationships.
Architecture¶

Port mappings¶
The following ports are used by the ubTrace applications:
Service |
Host port |
Docker port |
---|---|---|
ubTrace |
7130 |
7130 |
Vis-Tree |
7140 |
7140 |
OIDC |
7180 |
8080 |
Workflows¶
Production¶
For production deployments, follow the instructions in Installation.
Development¶
For development, use the make <target>
shortcut to trigger common actions.
Running make
without arguments will list all available targets.
You can also use standard Docker commands like docker build
and docker compose
as needed.
Hint
For more details, see the README
file in the repository.
Developing without Docker¶
It is also possible to run ubTrace and the vis-tree applications in their respective dev servers without docker.
To do this simply run npm run dev in each project. In this case ubTrace loads the config file .env.development
(on top of .env
, that is the values .env.development
take precedence).
This file overwrites the environment variable UBTRACE_SERVER_SIDEBAR_APPS_CONFIG
so that ubTrace will look for the
vis-tree at its dev server port (5173).
Production-like Setup¶
To create a production-like environment, run:
make prod
This installs everything for the version specified in the VERSION
file.
You can check out older tags and quickly get a system running that matches the checked-out source code.
Local Production Setup¶
To start a production-like environment, which is taking your local changes into account, run:
make local_prod_build
make local_prod_up
This setup is using the docker-compose-local.yml
file.
The make targets are just a shortcut for
docker compose -f docker-compose-local.yml up --build
Development Setup¶
To set up a development environment and build the required documentation, run:
make all_showcase
This will build the docs and store them in the local output
folder of your current working tree.
Testing¶
There are three level of what to test:
The current production setup
An old production setup
A production setup based on the local Dockerfiles
Production setup execute¶
docker-compose -f docs/docker-compose.yml up
This will download the latest images from the used Docker registry.
As alternative, you can also follow Installation.
Old Production Setup¶
docker-compose -f docker-compose-prod.yml up
This will download the specific images from the used Docker registry.
The images are selected by the version string given inside /VERSION
.
Local Production Setup¶
docker-compose -f docker-compose-local.yml build --no-cache
docker-compose -f docker-compose-local.yml up
For this approach the Docker images need to be built locally.
--no-cache
makes sure that it is some kind of a safe, clean build, but it takes much longer.
As shortcut you can also use:
make local_prod_build
make local_prod_up