Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:Risingwavelabs Risingwave Docker Deployment Environment

From Leeroopedia


Knowledge Sources
Domains Infrastructure, Deployment, Docker
Last Updated 2026-02-09 08:00 GMT

Overview

Docker Compose environment for deploying RisingWave with PostgreSQL metadata store, MinIO object storage, Prometheus monitoring, Grafana dashboards, and Redpanda message queue.

Description

This environment provides the containerized deployment stack for RisingWave. The default docker-compose.yml runs RisingWave in standalone mode with MinIO as the state store backend. Alternative compose files support S3, GCS, Azure Blob, Alibaba OSS, Huawei OBS, HDFS, local filesystem, and SQLite backends. A distributed mode compose file runs separate compute, compactor, frontend, and meta nodes. Memory allocation is critical: the default configuration reserves 28GB for the RisingWave container.

Usage

Use this environment for production or development deployment of RisingWave via Docker Compose. It is the prerequisite for running any integration tests, end-to-end SLT tests against a live cluster, or local development with ./risedev d.

System Requirements

Category Requirement Notes
OS Linux, macOS, or Windows with WSL2 Docker Desktop or Docker Engine
Docker Docker Engine 20.10+ Must support compose v2 (YAML anchors, extends)
Docker Compose v2.0+ Compose plugin format preferred
RAM 8GB minimum, 28GB recommended See memory allocation table below
Disk 20GB+ SSD For MinIO state store and container images
Ports 4566, 5690, 5691, 9301, 9400, 9500, 3001, 9092 Must be available on host

Dependencies

Container Images

  • risingwavelabs/risingwave:v2.7.1 (default, customizable via RW_IMAGE)
  • postgres:15-alpine (metadata store)
  • grafana/grafana-oss:latest (monitoring dashboards)
  • quay.io/minio/minio:latest (object storage)
  • prom/prometheus:latest (metrics collection)
  • redpandadata/redpanda:latest (Kafka-compatible message queue)

Optional Images (backend-specific)

  • quay.io/lakekeeper/catalog:latest-main (Iceberg catalog with Lakekeeper)
  • Apache Hadoop (for HDFS backend)
  • Spark (for Iceberg integration tests)

Credentials

The following environment variables must be configured for cloud storage backends:

AWS S3 (via docker/aws.env):

  • AWS_REGION: AWS region
  • AWS_ACCESS_KEY_ID: S3 access key
  • AWS_SECRET_ACCESS_KEY: S3 secret key
  • RW_S3_ENDPOINT: Optional, for S3-compatible storage

Google Cloud Storage (via docker/multiple_object_storage.env):

  • GOOGLE_APPLICATION_CREDENTIALS: Base64-encoded service account JSON

Azure Blob Storage:

  • AZBLOB_ENDPOINT: Azure endpoint
  • AZBLOB_ACCOUNT_NAME: Storage account name
  • AZBLOB_ACCOUNT_KEY: Storage account key

Alibaba Cloud OSS:

  • OSS_ENDPOINT: OSS endpoint
  • OSS_ACCESS_KEY_ID: Access key
  • OSS_ACCESS_KEY_SECRET: Secret key

Huawei Cloud OBS:

  • OBS_ENDPOINT: OBS endpoint
  • OBS_ACCESS_KEY_ID: Access key
  • OBS_SECRET_ACCESS_KEY: Secret key

Internal RisingWave Variables:

  • RW_SECRET_STORE_PRIVATE_KEY_HEX: Secret encryption key (default: 0123456789abcdef0123456789abcdef; change in production)
  • RW_LICENSE_KEY: Optional enterprise license key
  • ENABLE_TELEMETRY: Telemetry toggle (default: true)

Quick Install

# Default deployment with MinIO
docker compose -f docker/docker-compose.yml up -d

# Deployment with S3 backend (configure docker/aws.env first)
docker compose -f docker/docker-compose-with-s3.yml up -d

# Distributed multi-node deployment
docker compose -f docker/docker-compose-distributed.yml up -d

# Connect via psql
psql -h localhost -p 4566 -d dev -U root

Code Evidence

Memory configuration from docker/docker-compose.yml line 81:

deploy:
  resources:
    limits:
      memory: 28G
    reservations:
      memory: 28G

Environment variables from docker/docker-compose.yml lines 61-66:

environment:
  RUST_BACKTRACE: "1"
  ENABLE_TELEMETRY: ${ENABLE_TELEMETRY:-true}
  RW_TELEMETRY_TYPE: "docker-compose"
  RW_SECRET_STORE_PRIVATE_KEY_HEX: "0123456789abcdef0123456789abcdef"
  RW_LICENSE_KEY: ${RW_LICENSE_KEY:-}

State store URL pattern from docker/docker-compose.yml line 31:

--state-store hummock+minio://hummockadmin:hummockadmin@minio-0:9301/hummock001

Common Errors

Error Message Cause Solution
port 4566 already in use Previous RisingWave instance running Stop with docker compose down or ./risedev k
OOM killed Insufficient Docker memory Increase Docker memory limit to 28GB+ or reduce container limits
minio-0 unhealthy MinIO failed to start Check disk space and port 9301 availability
connection refused on port 4566 RisingWave not ready yet Wait for healthcheck to pass; check logs in .risingwave/log/

Compatibility Notes

  • Docker Desktop: Must allocate sufficient memory in Docker Desktop settings (28GB recommended).
  • ARM64 (Apple Silicon): Supported; images are multi-arch. Performance may differ from x86_64.
  • State Store Backends: MinIO is the default for local development. For production, use S3, GCS, or Azure Blob Storage.
  • Image Tags: Available tags: latest (stable), nightly (latest nightly), vX.Y.Z (release), nightly-yyyyMMdd (dated nightly).

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment