|
1 | 1 | services: |
2 | | - postgres: |
3 | | - image: postgres:15 |
4 | | - container_name: postgres_container |
5 | | - ports: |
6 | | - - "5432:5432" |
7 | | - environment: |
8 | | - POSTGRES_USER: akto |
9 | | - POSTGRES_PASSWORD: akto |
10 | | - POSTGRES_DB: 1000000 |
11 | | - volumes: |
12 | | - - postgres_data:/var/lib/postgresql/data |
13 | | - |
14 | | - kafka-internal: |
15 | | - image: confluentinc/cp-kafka:7.7.2 |
16 | | - container_name: kafka-internal |
17 | | - hostname: kafka-internal |
| 2 | + kafka-central: |
| 3 | + image: confluentinc/cp-kafka:7.8.0 |
| 4 | + container_name: kafka-central |
| 5 | + hostname: kafka-central |
18 | 6 | user: root |
19 | 7 | ports: |
20 | | - - "39092:39092" # PLAINTEXT_HOST listener |
21 | | - - "49092:49092" # PLAINTEXT listener |
22 | | - - "49093:49093" # CONTROLLER listener |
| 8 | + - "9093:9093" # CONTROLLER listener |
| 9 | + - "9092:9092" # EXTERNAL listener |
23 | 10 | environment: |
24 | | - # Kafka Node Configuration |
25 | | - KAFKA_NODE_ID: 1 |
26 | | - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT |
27 | | - KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-internal:49092,PLAINTEXT_HOST://localhost:39092 |
28 | | - KAFKA_LISTENERS: PLAINTEXT://kafka-internal:49092,CONTROLLER://kafka-internal:49093,PLAINTEXT_HOST://0.0.0.0:39092 |
29 | | - |
30 | | - # Kafka Roles and Controller Quorum |
| 11 | + # Broker ID |
| 12 | + KAFKA_BROKER_ID: 1 |
| 13 | + |
| 14 | + # KRaft mode settings |
31 | 15 | KAFKA_PROCESS_ROLES: broker,controller |
32 | | - KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka-internal:49093 |
33 | | - KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT |
| 16 | + KAFKA_NODE_ID: 1 |
| 17 | + KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093 |
| 18 | + |
| 19 | + # Kafka listeners and advertised listeners |
| 20 | + KAFKA_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093 |
| 21 | + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 |
| 22 | + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT |
| 23 | + |
| 24 | + # Specify controller listener names |
34 | 25 | KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER |
35 | 26 |
|
36 | | - # Other Configurations |
| 27 | + # Log directories |
| 28 | + KAFKA_LOG_DIRS: /var/lib/kafka/data |
| 29 | + |
| 30 | + # Minimum in-sync replicas |
| 31 | + KAFKA_MIN_INSYNC_REPLICAS: 1 |
| 32 | + |
| 33 | + # Offsets topic replication factor |
37 | 34 | KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 |
| 35 | + |
| 36 | + # Transaction state log replication factor and min ISR |
| 37 | + KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 |
| 38 | + KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 |
38 | 39 | CLUSTER_ID: MkU3OEVBNTcwNTJENDM2Qk |
| 40 | + |
| 41 | + volumes: |
| 42 | + - ./data-kafka-central-data:/var/lib/kafka/data |
| 43 | + - ./data-kafka-central-secrets:/etc/kafka/secrets |
39 | 44 |
|
| 45 | + redis-central: |
| 46 | + image: redis:latest |
| 47 | + container_name: redis-central |
| 48 | + hostname: redis-central |
| 49 | + ports: |
| 50 | + - "6379:6379" |
40 | 51 | volumes: |
41 | | - - ./data-kafka-internal-data:/var/lib/kafka/data |
42 | | - - ./data-kafka-internal-secrets:/etc/kafka/secrets |
| 52 | + - redis_data:/data |
43 | 53 |
|
44 | 54 | volumes: |
45 | | - postgres_data: |
| 55 | + redis_data: |
0 commit comments