Skip to content

Install Sitecore Stream in a Local Sitecore Instance

Sitecore Stream introduces a modern, real-time, event-driven architecture to the Sitecore ecosystem, enabling more scalable and reactive digital experiences. While it’s built to thrive in the cloud, developers often want to test it locally, especially in Experience Platform (XP) environments. This blog post walks you through how to install and configure Sitecore Stream on a local Sitecore XP instance.

Prerequisites

Before installing Sitecore Stream, make sure your local environment is ready:

Environment Checklist:

  • Sitecore XP 10.3 or 10.4 installed locally (via Docker or local IIS)
  • Sitecore CLI installed and configured
  • .NET 6 SDK (required for Sitecore Stream services)
  • Node.js and NPM (optional, if customizing front-end components)
  • Docker Desktop (optional if using containerized XP)
  • Solr running (standard XP requirements)
  • RabbitMQ (required for Sitecore Stream event bus)

Step-by-Step Installation Guide

Step 1: Install and Configure RabbitMQ

Sitecore Stream uses RabbitMQ for real-time messaging.

Option 1 – Docker RabbitMQ (Recommended):

docker run -d --hostname my-rabbit --name rabbitmq \
-p 5672:5672 -p 15672:15672 \
rabbitmq:3-management

Access the UI at: http://localhost:15672
Default credentials: guest/guest

Create a new virtual host (e.g., /sitecore) and a new user with full permissions.

Step 2: Download Sitecore Stream Package

Download the official Sitecore Stream package (usually named like Sitecore.Stream.X.X.X.nupkg) from the Sitecore Downloads Portal.

Extract it or install it via NuGet CLI if integrating via a custom solution.

Step 3: Configure Sitecore to Use Stream

Add the Stream module to your Sitecore instance:

If using Docker:

  • Add the Sitecore Stream .nupkg or Docker layer to your container setup.
  • Modify docker-compose.override.yml to include the Sitecore Stream role or custom service.

If using Local IIS:

  1. Copy the Sitecore Stream files into the appropriate website bin, App_Config and sitecore modules folders.
  2. Merge the App_Config\Include\Sitecore.Stream.* config files into your instance.
  3. Verify that Sitecore.Stream.EventBus config includes RabbitMQ connection strings like:
<setting name="Stream.EventBus.RabbitMQ.HostName" value="localhost" />
<setting name="Stream.EventBus.RabbitMQ.VirtualHost" value="/sitecore" />
<setting name="Stream.EventBus.RabbitMQ.UserName" value="sitecoreuser" />
<setting name="Stream.EventBus.RabbitMQ.Password" value="password123" />

Step 4: Install Stream CLI Plugin (Optional but Recommended)

dotnet tool install --global Sitecore.Stream.Cli

This CLI helps manage publishers, consumers, and test the stream pipelines.

Step 5: Enable Relevant Stream Pipelines

Sitecore Stream is not active by default. You must enable relevant pipelines.

Edit or create configuration patches to activate:

<sitecore>
<stream>
<pipelines>
<event>
<processor type="Sitecore.Stream.Pipelines.CustomProcessor, Sitecore.Stream" />
</event>
</pipelines>
</stream>
</sitecore>

Step 6: Verify the Installation

  • Go to RabbitMQ UI → check for messages in queues like sitecore.item.saved
  • Open Log Viewer and check for Sitecore.Stream log entries
  • Use the Stream CLI to test:
sitecore stream ping

Test Your Setup

Create or edit content in Sitecore and observe how the Stream processors capture and send events through RabbitMQ.

For example:

  • Edit an item in the Content Editor.
  • Check the queue sitecore.item.saved in RabbitMQ.
  • Log should reflect a successful event dispatch.

Pro Tips

  • Security: Avoid using guest in production. Use a dedicated RabbitMQ user.
  • Performance: Don’t overload with too many Stream subscribers while testing.
  • Debugging: Enable verbose logging for Sitecore.Stream to trace message processing.

Example Diagram

Here’s a high-level architecture overview of Sitecore Stream in a local environment:

 +------------------+         +----------------+
| Sitecore XP App | -----> | RabbitMQ Broker|
+------------------+ +----------------+
| |
| Stream Pipelines |
V V
Event Consumers (e.g., Azure, MongoDB, Logging, etc.)

Resources

Ramiro Batallas

Principal Backend Engineer at Oshyn Inc.

With over 15 years of working as a .Net Software Developer, implementing applications with MCV, SQL, Sitecore, Episerver, and using methodologies like UML, CMMI, and Scrum. Furthermore, as a team player, I can be described as a self-motivator possessing excellent analytical, communication, problem-solving solving and decision-making.