# Install the WarpStream Agent / CLI

This page contains instructions for installing the WarpStream Agent via CURL, Docker, or raw binaries.

WarpStream packages the Agent and a utility CLI into a single binary.

The WarpStream Agent / CLI can be installed in one of three ways:

1. With our Docker container from our public Docker registry.
2. With our installation script.
3. Downloading the binary for your platform directly.

<Tabs>

<TabItem label="Installation Script">

```bash
curl https://console.warpstream.com/install.sh | bash
```

This option is recommended for local development.

:::note
Make sure to follow the instructions at the end of the installation script to update your bashrc/zshrc file.
:::

</TabItem>

<TabItem label="Docker">

:::note
We have special docker tags `latest` and `latest-stable` in our ECR repos. `latest` is always the latest published version, while `latest-stable` corresponds to the most recent version that is at least one month old.
:::

We host our public Docker registry using Amazon ECR. Our docker image is multi arch: linux x86-64 and arm-64 are supported.

[https://gallery.ecr.aws/warpstream-labs](https://gallery.ecr.aws/warpstream-labs)

**Quick Run Commands (Playground)**

Port `8080` for Kinesis/Prometheus metrics, port `9092` for Apache Kafka-compatible API.

In playground mode, the Agent will advertise its IP address as localhost instead of the Docker internal IP address by default. This will allow you to connect to the agent from a client running locally. You can change this behavior with the `advertiseHostnameStrategy` flag.

If you're trying to run the WarpStream Agent as part of a larger `docker-compose` setup, then check out our reference on [how to run WarpStream in docker-compose](/warpstream/reference/integrations/use-the-agent-in-docker-compose) as you'll need to configure a different set of environment variables for service discovery to work properly.

```bash title="playground" wrap
docker run -p 8080 -p 9092:9092 public.ecr.aws/warpstream-labs/warpstream_agent:latest playground
```

**Quick Run Commands (Demo)**

```bash title="demo" wrap
docker run public.ecr.aws/warpstream-labs/warpstream_agent:latest demo
```

</TabItem>

<TabItem label="Binaries">

The links below are for the latest version of the WarpStream Agent binary. Latest version will always be the latest version published, while latest stable is the latest version that has been published for at least one month.

<table><thead><tr><th width="244.66666666666666">Platform</th><th>Latest</th><th>Latest Stable</th></tr></thead><tbody><tr><td><code>linux/amd64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_amd64_latest.tar.gz">Download</a></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_amd64_latest.tar.gz">Download</a></td></tr><tr><td><code>linux/arm64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_arm64_latest.tar.gz">Download</a></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_arm64_latest.tar.gz">Download</a></td></tr><tr><td><code>darwin(macOS)/amd64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_amd64_latest.tar.gz">Download</a></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_amd64_latest.tar.gz">Download</a></td></tr><tr><td><code>darwin(macOS)/arm64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_arm64_latest.tar.gz">Download</a></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_arm64_latest.tar.gz">Download</a></td></tr></tbody></table>

If you want to download the WarpStream Agent binary as of a specific version, use the URL templates below to select your architecture and then replace the value of `$VERSION` with the version tag from the [change log](/warpstream/overview/change-log).

<table><thead><tr><th width="244.66666666666666">Platform</th><th>URL</th></tr></thead><tbody><tr><td><code>linux/amd64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_amd64_latest.tar.gz">https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_amd64_$VERSION.tar.gz</a></td></tr><tr><td><code>linux/arm64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_arm64_latest.tar.gz">https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_linux_arm64_$VERSION.tar.gz</a></td></tr><tr><td><code>darwin(macOS)/amd64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_amd64_latest.tar.gz">https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_amd64_$VERSION.tar.gz</a></td></tr><tr><td><code>darwin(macOS)/arm64</code></td><td><a href="https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_arm64_latest.tar.gz">https://warpstream-public-us-east-1.s3.amazonaws.com/warpstream_agent_releases/warpstream_agent_darwin_arm64_$VERSION.tar.gz</a></td></tr></tbody></table>

</TabItem>

<TabItem label="Brew">

```
brew tap warpstreamlabs/homebrew-tap
brew install warpstreamlabs/homebrew-tap/warpstream
```

This option is recommended for local development on Linux/MacOS. The tap can be found [here](https://github.com/warpstreamlabs/homebrew-tap).

</TabItem>

</Tabs>

Once installed, you can run `warpstream demo` in your terminal which will:

1. Automatically sign you up for a temporary account that is valid for 12 hours.
2. Run an in-memory Kafka producer that will produce small JSON documents to a stream periodically.
3. Run an in-memory Kafka consumer that consumes the JSON documents and prints them to the standard console.
4. Open up your web browser to the WarpStream console so you can explore the WarpStream U.I and feature set in more detail.