Files
compose-anything/src/redpanda/docker-compose.yaml
T
2026-02-23 17:41:05 +08:00

91 lines
3.0 KiB
YAML

# Redpanda - A Kafka-compatible streaming data platform built for performance
# This configuration provides a single-node Redpanda setup with console for monitoring
x-defaults: &defaults
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 100m
max-file: '3'
services:
redpanda:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}redpandadata/redpanda:${REDPANDA_VERSION:-v24.3.1}
command:
- redpanda
- start
- --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:${REDPANDA_KAFKA_PORT_OVERRIDE:-19092}
- --advertise-kafka-addr internal://redpanda:9092,external://localhost:${REDPANDA_KAFKA_PORT_OVERRIDE:-19092}
- --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:${REDPANDA_PROXY_PORT_OVERRIDE:-18082}
- --advertise-pandaproxy-addr internal://redpanda:8082,external://localhost:${REDPANDA_PROXY_PORT_OVERRIDE:-18082}
- --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:${REDPANDA_SCHEMA_PORT_OVERRIDE:-18081}
- --rpc-addr redpanda:33145
- --advertise-rpc-addr redpanda:33145
- --mode dev-container
- --smp ${REDPANDA_SMP:-1}
- --default-log-level=${REDPANDA_LOG_LEVEL:-info}
- --reserve-memory 0M
- --memory ${REDPANDA_MEMORY:-1G}
ports:
- '${REDPANDA_SCHEMA_PORT_OVERRIDE:-18081}:8081'
- '${REDPANDA_PROXY_PORT_OVERRIDE:-18082}:8082'
- '${REDPANDA_KAFKA_PORT_OVERRIDE:-19092}:19092'
- '${REDPANDA_ADMIN_PORT_OVERRIDE:-19644}:9644'
volumes:
- redpanda_data:/var/lib/redpanda/data
environment:
- TZ=${TZ:-UTC}
healthcheck:
test:
[CMD-SHELL, "rpk cluster health | grep -E 'Healthy:.+true' || exit 1"]
interval: 15s
timeout: 10s
retries: 5
start_period: 30s
deploy:
resources:
limits:
cpus: ${REDPANDA_CPU_LIMIT:-2.0}
memory: ${REDPANDA_MEMORY_LIMIT:-2G}
reservations:
cpus: ${REDPANDA_CPU_RESERVATION:-1.0}
memory: ${REDPANDA_MEMORY_RESERVATION:-1G}
console:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}redpandadata/console:${REDPANDA_CONSOLE_VERSION:-v3.3.2}
profiles:
- console
ports:
- '${REDPANDA_CONSOLE_PORT_OVERRIDE:-8080}:8080'
environment:
- KAFKA_BROKERS=redpanda:9092
- KAFKA_SCHEMAREGISTRY_ENABLED=true
- KAFKA_SCHEMAREGISTRY_URLS=http://redpanda:8081
- REDPANDA_ADMINAPI_ENABLED=true
- REDPANDA_ADMINAPI_URLS=http://redpanda:9644
- TZ=${TZ:-UTC}
depends_on:
redpanda:
condition: service_healthy
healthcheck:
test:
[CMD, wget, --spider, -q, 'http://localhost:8080/admin/health']
interval: 10s
timeout: 5s
retries: 3
start_period: 10s
deploy:
resources:
limits:
cpus: ${REDPANDA_CONSOLE_CPU_LIMIT:-0.5}
memory: ${REDPANDA_CONSOLE_MEMORY_LIMIT:-512M}
reservations:
cpus: ${REDPANDA_CONSOLE_CPU_RESERVATION:-0.25}
memory: ${REDPANDA_CONSOLE_MEMORY_RESERVATION:-256M}
volumes:
redpanda_data: