Skip to main content

Docker Compose profiles

Docker services

The following services are used by the main OpenRemote code base:

  • proxy - Reverse SSL proxy (HAProxy) for the web services with auto SSL certificate generation (Let's Encrypt)
  • manager - Runs the OpenRemote Manager (by default depends on PostgreSQL and Keycloak)
  • postgresql - PostgreSQL DB
  • keycloak - Keycloak identity provider service
  • map - tileserver-gl service that is used for serving raster map tiles (only needed for UI components/apps that use mapbox-js)

Docker Compose profiles

Docker Compose profiles (Docker Compose .yml files) are used to configure and start required services; the standard profiles are located in the profile folder of the main OpenRemote repository although the demo profile is in the root of the repo.

The standard profiles are:

Deploy (deploy.yml)

This is the main profile which all other profiles extend; it can't be used directly.

Demo (../docker-compose.yml)

This is a demo profile which starts all services and provides a quick start for getting a running local deployment.

Prerequisites

Docker images must have been pulled from Docker Hub:

docker-compose pull

Or the Docker images must have been built locally (requires the full stack be built):

./gradlew clean installDist
docker-compose build

To start the containers:

docker-compose up -d

UI Development (dev-ui.yml)

This is for doing development work on the UI without having to run the manager in an IDE.

Prerequisites

Docker images must have been pulled from Docker Hub:

docker-compose -f profile/dev-ui.yml pull

Or the docker images must have been built locally (requires the full stack be built):

./gradlew clean installDist
docker-compose -f profile/dev-ui.yml build

To start the containers:

docker-compose -f profile/dev-ui.yml up -d

Exposed Services

Full Stack Development / Running Tests (dev-testing.yml)

This is for running tests or doing development work on the Manager (in an IDE), see the Setting up an IDE guide for running the Manager in an IDE.

Exposed Services

Full Stack Development with HTTPS Proxy (dev-proxy.yml)

This is the same as the Full Stack Development profile but also adds the proxy service to allow development/testing of the Manager running behind the reverse proxy with HTTPS (so development environment matches final deployment configuration).

To use this proxy correctly you will need to set the correct environment variables for the manager running behind SSL proxy as described in Setting up an IDE.

Exposed Services

Map (dev-map.yml)

This is used for starting the map service and is required when working on raster map components/apps.

Exposed Services