Deploying Orbital

Deploying Orbital

Production concepts

When deploying to production, there are common tasks you may wish to perform:

Deploying using Docker Compose

A sample docker-compose.yml is maintained by the Orbital team and published at

It contains reasonable defaults for getting a local environment running. Note that by default, Orbital does not enable authentication or role-based authorization, and you’ll need to enable these.

Deploying with Terraform

Orbital maintains deployment scripts for production configurations of Orbital in Terraform.

These are available here

Networking between components

Orbital is packaged as a collection of container images, which need to be able to communicate between each other.

The addresses used are configured in a file, which be default is loaded from config/services.conf.

The location of the config file can be set by passing in the command line when starting Orbital.

Config settingDefault value

If the config file doesn’t exist, then a default file with reasonable defaults is written on startup.

An example of the config file is shown below:

services {
    analytics-server {
    orbital-server {

The following table outlines the components and, the default network addresses and ports that are expected to be exposed. If deploying in a network like Docker Swarm or Kubernetes, it is expected that services are available on the configured addresses.

Component & ImageDefault network addressPort(s)
Orbital Server
(UI and Query execution)
Analytics server
(Stores query history and lineage, as well as pipeline logs)
http://orbital-analytics-server80 (http)
7654 (RSocket)
Stream server Optional
Executes long-lived data streams

See also

When Orbital is configured to distribute work across a cluster, ports must also be exposed to enable multicasting. See Distributing work across a cluster for more information.

Other formats
Configuring Orbital