Quick Start

Get StreamHouse running in under 5 minutes.

5 min readGetting Started

Prerequisites

Before you begin, make sure you have the following installed on your system.

  • Rust 1.75+ (for building from source)
  • Docker and Docker Compose (for containerized setup)
  • PostgreSQL 15+ (for metadata storage)
  • AWS CLI configured with S3 access (or MinIO for local development)

Install StreamHouse

The fastest way to get started is with Docker Compose, which sets up StreamHouse along with all its dependencies.

bash
# Clone the repository
git clone https://github.com/streamhouse/streamhouse.git
cd streamhouse

# Start everything with Docker Compose
docker compose up -d

# Verify the server is running
curl http://localhost:8080/api/health

Create Your First Topic

Once StreamHouse is running, create a topic using the REST API or the CLI tool.

bash
# Using the CLI
streamctl topic create --name events --partitions 3 --replication-factor 1

# Or using the REST API
curl -X POST http://localhost:8080/api/topics \
  -H "Content-Type: application/json" \
  -d '{"name": "events", "partitions": 3}'

Produce and Consume Messages

Now you can produce messages to your topic and consume them back.

bash
# Produce a message
streamctl produce --topic events --message '{"user": "alice", "action": "login"}'

# Consume messages from the beginning
streamctl consume --topic events --from-beginning

Next Steps

You now have a running StreamHouse instance. Here are some suggested next steps to continue exploring.

  • Read the Architecture Overview to understand how StreamHouse works under the hood
  • Set up the Web Console at localhost:3000 for a visual interface
  • Configure S3 storage for production-grade durability
  • Explore the SQL processing engine for real-time stream transformations