## Orbital - Docker Compose ## ## This file was generated by calling https://start.orbitalhq.com/ ## ## Customizing this file ## ================================= ## Some parts of this docker compose file are OS dependent ## We couldn't detect your OS, so we've used values defaulting to Mac. You should check sections below to configure correctly ## ## Fetch an OS-dependent version of this file by running ## curl -H "x-os: ${OS:-${OSTYPE:-$(uname)}}" https://start.orbitalhq.com -o docker-compose.yml ## ## Alternatively, you can pass your os directly by calling ## curl https://start.orbitalhq.com/?os=mac -o docker-compose.yml ## ## ...passing an os of either mac | windows | linux. ## ## The Stack ## ============================== ## This demo stack launches the following components: ## ## Orbital - our core platform ## Postgres - The database needed for Orbital ## Prometheus (Optional, but enabled) - Used for providing performance stats in Orbital's dashboards ## Nebula (Optional, but enabled - You should disable this before production) - Used for providing stubbed servers for testing and development ## ## Workspace ## ============================ ## Orbital will create a workspace in the directory you launch this file from. ## ## You can launch orbital directly by downloading this file, and ## running docker-compose up. ## ## For example: ## ## curl https://start.orbitalhq.com -o "docker-compose.yml" ## docker-compose up -d ## ## The following variables can be set in a .env file: ## ## ORBITAL_VERSION (default: next) ## ## Note that variations of this file can be generated by passing the following options on the query string ## - gitProjectUrl : Pulls a workspace from a provided git url ## ## eg: ## curl https://start.orbitalhq.com/?gitProjectUrl=http://github.com/orbital/demos/myDemo.git -o "docker-compose.yml" ## services: orbital: image: orbitalhq/orbital:${ORBITAL_VERSION:-next} environment: JAVA_OPTS: >- -Xms256m -Xmx1024m OPTIONS: >- --vyne.analytics.persistRemoteCallResponses=true --vyne.analytics.persistResults=true --vyne.db.username=orbital --vyne.db.password=changeme --vyne.db.host=postgres --vyne.toggles.nebulaEnabled=true --vyne.toggles.policiesEnabled=true --vyne.workspace.config-file=/opt/service/workspace/workspace.conf ports: - "9022:9022" expose: - 9022 volumes: - ~/.orbital/license/:/opt/var/vyne/license/ - .:/opt/service/workspace depends_on: - postgres deploy: resources: limits: memory: 600mb postgres: image: postgres:15 expose: - 5432 ports: - "25432:5432" environment: POSTGRES_DB: orbital POSTGRES_USER: orbital POSTGRES_PASSWORD: changeme volumes: - postgres_data:/var/lib/postgresql/data # Nebula is a test and stubbing tool. # You can use Nebula to quickly deploy and script stub infrastructure, such as # Kafka brokers, databases, HTTP servers, AWS instances and more. # # See more at https://github.com/orbitalapi/nebula # # This is optional, and shouldn't be deployed in production. nebula: image: orbitalhq/nebula:next expose: - 8099 ## Remove or comment out these lines if running on Linux ports: - "8099:8099" ## Remove or comment out these lines if running on Windows or Mac # # Nebula starts other docker containers, such as Kafka etc., so needs to # run on the host network # #network_mode: "host" # volumes: - /var/run/docker.sock:/var/run/docker.sock # Allow nebula to control Docker environment: - DOCKER_HOST=tcp://localhost:2375 ## Remove or comment out these lines if running on Linux - TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal # prometheus instance, which scrapes metrics from # the orbital and the stream-server # Optional. # If provided (and configured), then # metrics are shown in endpoint dashboards prometheus: image: prom/prometheus:v2.44.0 ports: - "9090:9090" expose: - 9090 volumes: - ./prometheus_data:/etc/prometheus depends_on: - prometheus-config-downloader command: - --config.file=/etc/prometheus/prometheus.yml - --web.enable-lifecycle ## This image downloads the prometheus configuration file from ## https://start.orbitalhq.com/prometheus.yml, and then forces prometheus to reload it's config, then quits prometheus-config-downloader: image: alpine volumes: - ./prometheus_data:/etc/prometheus command: /bin/sh -c "apk add --no-cache wget && wget -O /etc/prometheus/prometheus.yml https://start.orbitalhq.com/prometheus.yml && wget --method=POST http://prometheus:9090/-/reload --quiet -O -" volumes: postgres_data: prometheus_data: