Documentation
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Standalone Docker Deployment

To run the Sundeck Private Broker as a standalone Docker container, you will need to have Docker installed on a host machine. The host machine should have network access to the Sundeck control plane, as well as to the Snowflake backend.

Obtain the Private Broker Docker Image

Pull the Private Broker Docker image from the location provided by Sundeck Support (support@sundeck.io). docker pull <sundeck-image>:latest

Start the Private Broker container

Start the container with docker run, passing the required Configuration Variables.

Below is a sample bash script to used to start the Private Broker container; it sets the values of the required environment variables, starts the container with stdout redirected to a log file, and will restart the container should it stop running for any reason.

Obviously sensitive information such as passwords should be stored securely and not in plain text in scripts. The Private Broker supports integration with Hashicorp Vault for secure storage of sensitive information.

This script can be run in a screen session, or as a background process.

#!/bin/bash
set -uo pipefail

export SUNDECK_BROKER_REST_API_PATH=https://api.sundeck.io/us-east-1/v1
export SUNDECK_BROKER_TOKEN=sndk_Pjz5cjuj...
export SUNDECK_BROKER_PORT=8080
export SUNDECK_SF_USERNAME=SUNDECK_SERVICE_ACCOUNT
export SUNDECK_SF_PASSWORD=********
export SUNDECK_SF_WAREHOUSE=COMPUTE_WH
export SUNDECK_SF_ROLE=SUNDECK_SERVICE_ACCOUNT

while true
do
  logFilename="sundeck-broker-$(date +%Y-%m-%d-%H-%M-%S).log"
  echo "Starting Sundeck broker, logging to $logFilename"

  docker run --pull=always -h sundeck-pb.yourcompany.com \
    -p 8080:8080 \
    -e SUNDECK_SF_USERNAME=$SUNDECK_SF_USERNAME \
    -e SUNDECK_SF_PASSWORD=$SUNDECK_SF_PASSWORD \
    -e SUNDECK_SF_WAREHOUSE=$SUNDECK_SF_WAREHOUSE \
    -e SUNDECK_SF_ROLE=$SUNDECK_SF_ROLE \
    -e SUNDECK_BROKER_REST_API_PATH=$SUNDECK_BROKER_REST_API_PATH \
    -e SUNDECK_BROKER_TOKEN=$SUNDECK_BROKER_TOKEN \
    <sundeck-image>:latest > $logFilename 2>&1

  echo "Halted at "$(date)".  Sleeping 5 seconds before respawn ..."
  sleep 5
done