Docker

Docker

Run the rstream CLI from the published Docker image.


The Docker image packages the same rstream CLI used by the native installers. It is useful for CI jobs, short-lived agents, and hosts where installing a binary on the filesystem is not desirable.

The image is published as rstream/rstream. Pull the current image before using it in a job or deployment:

docker pull rstream/rstream:latest

The image can be used directly for inspection and diagnostics:

docker run --rm -it rstream/rstream:latest --help
docker run --rm -it rstream/rstream:latest --version

Runtime configuration

Containerized runs normally receive the engine address and token as environment variables. The target passed to forward is resolved from inside the container, so it must be reachable from the container network.

docker run --rm -it \
  -e RSTREAM_AUTHENTICATION_TOKEN="<token>" \
  -e RSTREAM_ENGINE="<engine>" \
  rstream/rstream:latest forward 8080

When forwarding a service running on the Docker host, use an address that the container can reach. Docker Desktop environments commonly expose the host as host.docker.internal; Linux deployments often use an explicit bridge address, a shared Docker network, or host networking depending on the local container policy.

docker run --rm -it \
  -e RSTREAM_AUTHENTICATION_TOKEN="<token>" \
  -e RSTREAM_ENGINE="<engine>" \
  rstream/rstream:latest forward host.docker.internal:8080

Persistent configuration

For interactive use, the native installers usually provide a better local workflow because rstream login writes a config file under the user's home directory. Docker runs can still mount a prepared config file when a job should use named contexts instead of explicit environment variables.

docker run --rm -it \
  -v "$HOME/.rstream:/root/.rstream:ro" \
  rstream/rstream:latest context ls

For declarative Docker discovery, the CLI also exposes rstream run --docker, which reads tunnel definitions from Docker labels. The label model is documented in Docker Labels.