Streamvisor Docs
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Docker

Prerequisites: Docker, Pulsar (2.11 or newer)
If you are using an older version of Pulsar, we provide special docker images - Please get in touch.

Quickstart

Get the Streamvisor docker image:

docker pull ghcr.io/streamvisor/streamvisor:3.1.1
docker run --name streamvisor \
  -p 8888:8888 \
   ghcr.io/streamvisor/streamvisor:3.1.1

Access the Streamvisor UI in your browser at http://localhost:8888.
Log in using admin@example.com/streamvisor credentials.

Connecting from Docker to a local Pulsar instance

If you want to connect to a Pulsar instance that is running locally (not in Docker), you have to set host.docker.internal as the URL when creating an environment as shown below:

Service URL:        pulsar://host.docker.internal:6650
Service HTTP URL:   http://host.docker.internal:8080

This allows the Docker container to open a connection to your host machine.

Configuration examples

The Streamvisor docker image can be configured by passing in environment variables.
For a full reference of configuration properties, please refer to the Configuration Reference.

Some common examples are provided below:

Launching with custom admin user credentials

docker run --name streamvisor \
  -p 8888:8888 \
  -e STREAMVISOR_BOOTSTRAPADMIN_EMAIL=custom@mydomain.org \
  -e STREAMVISOR_BOOTSTRAPADMIN_PASSWORD=topsecret \
   ghcr.io/streamvisor/streamvisor:3.1.1

Launching with a pre-created Pulsar environment

docker run --name streamvisor \
  -p 8888:8888 \
  -e STREAMVISOR_ENVIRONMENTS_0_NAME=production \
  -e STREAMVISOR_ENVIRONMENTS_0_SERVICEURL=http://my.pulsar.svc:8080 \
  -e STREAMVISOR_ENVIRONMENTS_0_BROKERURL=pulsar://my.pulsar.svc:6650 \
   ghcr.io/streamvisor/streamvisor:3.1.1

Docker Volumes

The docker container runs as UID 999 and GID 0 by default.
You need to ensure the mounted volumes give write permission to either UID 999 or GID 0.

Streamvisor stores internal data under /streamvisor/data. For this data to persist between docker runs, you have to expose it as a volume as shown below:

docker run --name streamvisor \
-p 8888:8888 \
-v streamvisor-vol:/streamvisor/data \
ghcr.io/streamvisor/streamvisor:3.1.1