Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
152 changes: 123 additions & 29 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,127 @@
version: '3'

services:
zookeeper:
image: 'bitnami/zookeeper:3.8.0'
redpanda-0:
command:
- redpanda
- start
- --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092
# Address the broker advertises to clients that connect to the Kafka API.
# Use the internal addresses to connect to the Redpanda brokers'
# from inside the same Docker network.
# Use the external addresses to connect to the Redpanda brokers'
# from outside the Docker network.
- --advertise-kafka-addr internal://redpanda-0:9092,external://localhost:19092
- --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082
# Address the broker advertises to clients that connect to the HTTP Proxy.
- --advertise-pandaproxy-addr internal://redpanda-0:8082,external://localhost:18082
- --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081
# Redpanda brokers use the RPC API to communicate with eachother internally.
- --rpc-addr redpanda-0:33145
- --advertise-rpc-addr redpanda-0:33145
# Tells Seastar (the framework Redpanda uses under the hood) to use 1 core on the system.
- --smp 1
# The amount of memory to make available to Redpanda.
- --memory 1G
# Mode dev-container uses well-known configuration properties for development in containers.
- --mode dev-container
# enable logs for debugging.
- --default-log-level=debug
image: docker.redpanda.com/redpandadata/redpanda:v23.2.14
container_name: redpanda-0
volumes:
- redpanda-0:/var/lib/redpanda/data
# networks:
# - redpanda_network
ports:
- '2181:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes

broker:
image: 'bitnami/kafka:3.1.1'
- 18081:18081
- 18082:18082
- 19092:19092
- 19644:9644

redpanda-1:
command:
- redpanda
- start
- --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:29092
- --advertise-kafka-addr internal://redpanda-1:9092,external://localhost:29092
- --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:28082
- --advertise-pandaproxy-addr internal://redpanda-1:8082,external://localhost:28082
- --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:28081
- --rpc-addr redpanda-1:33145
- --advertise-rpc-addr redpanda-1:33145
- --smp 1
- --memory 1G
- --mode dev-container
- --default-log-level=debug
- --seeds redpanda-0:33145
image: docker.redpanda.com/redpandadata/redpanda:v23.2.14
container_name: redpanda-1
volumes:
- redpanda-1:/var/lib/redpanda/data
# networks:
# - redpanda_network
ports:
- '9092:9092'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://broker:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- 28081:28081
- 28082:28082
- 29092:29092
- 29644:9644
depends_on:
- zookeeper

kafka-ui:
image: provectuslabs/kafka-ui
- redpanda-0

redpanda-2:
command:
- redpanda
- start
- --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:39092
- --advertise-kafka-addr internal://redpanda-2:9092,external://localhost:39092
- --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:38082
- --advertise-pandaproxy-addr internal://redpanda-2:8082,external://localhost:38082
- --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:38081
- --rpc-addr redpanda-2:33145
- --advertise-rpc-addr redpanda-2:33145
- --smp 1
- --memory 1G
- --mode dev-container
- --default-log-level=debug
- --seeds redpanda-0:33145
image: docker.redpanda.com/redpandadata/redpanda:v23.2.14
container_name: redpanda-2
volumes:
- redpanda-2:/var/lib/redpanda/data
# networks:
# - redpanda_network
ports:
- "8082:8080"
- 38081:38081
- 38082:38082
- 39092:39092
- 39644:9644
depends_on:
- redpanda-0

console:
container_name: redpanda-console
image: docker.redpanda.com/redpandadata/console:v2.3.1
# networks:
# - redpanda_network
entrypoint: /bin/sh
command: -c 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console'
environment:
- KAFKA_CLUSTERS_0_NAME=local
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=broker:9092
- KAFKA_CLUSTERS_0_ZOOKEEPER=zookeeper:2181
links:
- broker
CONFIG_FILEPATH: /tmp/config.yml
CONSOLE_CONFIG_FILE: |
kafka:
brokers: ["redpanda-0:9092"]
schemaRegistry:
enabled: true
urls: ["http://redpanda-0:8081"]
redpanda:
adminApi:
enabled: true
urls: ["http://redpanda-0:9644"]
ports:
- 8085:8080
depends_on:
- redpanda-0

db:
image: postgres
Expand All @@ -50,7 +141,7 @@ services:
- "3000:3000"
depends_on:
- db
- broker
- redpanda-0

tasks-accounts-consumer: &tasks
command: bundle exec racecar AccountsConsumer
Expand All @@ -63,7 +154,7 @@ services:
TEST_BROWSER_URL: http://chrome-server:4444
depends_on:
- db
- broker
- redpanda-0
- chrome-server

tasks:
Expand All @@ -83,7 +174,7 @@ services:
TEST_BROWSER_URL: http://chrome-server:4444
depends_on:
- db
- broker
- redpanda-0
- chrome-server

accounting-tasks-consumer:
Expand All @@ -107,7 +198,7 @@ services:
TEST_BROWSER_URL: http://chrome-server:4444
depends_on:
- db
- broker
- redpanda-0
- chrome-server

analytics-tasks-consumer:
Expand Down Expand Up @@ -141,3 +232,6 @@ services:

volumes:
postgres_data:
redpanda-0:
redpanda-1:
redpanda-2: