this repo has no description
at main 4.6 kB view raw
1services: 2 zookeeper: 3 image: confluentinc/cp-zookeeper:7.6.0 4 hostname: zookeeper 5 container_name: zookeeper 6 ports: 7 - "2181:2181" 8 environment: 9 ZOOKEEPER_CLIENT_PORT: 2181 10 ZOOKEEPER_TICK_TIME: 2000 11 volumes: 12 - zookeeper-data:/var/lib/zookeeper/data 13 - zookeeper-logs:/var/lib/zookeeper/log 14 15 kafka1: 16 image: confluentinc/cp-kafka:7.6.0 17 hostname: kafka1 18 container_name: kafka1 19 depends_on: 20 - zookeeper 21 ports: 22 - "9092:9092" 23 - "9101:9101" 24 environment: 25 KAFKA_BROKER_ID: 1 26 KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' 27 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT 28 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9092 29 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 30 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2 31 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3 32 KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 33 KAFKA_JMX_PORT: 9101 34 KAFKA_JMX_HOSTNAME: localhost 35 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' 36 volumes: 37 - kafka1-data:/var/lib/kafka/data 38 39 kafka2: 40 image: confluentinc/cp-kafka:7.6.0 41 hostname: kafka2 42 container_name: kafka2 43 depends_on: 44 - zookeeper 45 ports: 46 - "9093:9093" 47 - "9102:9102" 48 environment: 49 KAFKA_BROKER_ID: 2 50 KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' 51 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT 52 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka2:29093,PLAINTEXT_HOST://localhost:9093 53 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 54 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2 55 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3 56 KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 57 KAFKA_JMX_PORT: 9102 58 KAFKA_JMX_HOSTNAME: localhost 59 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' 60 volumes: 61 - kafka2-data:/var/lib/kafka/data 62 63 kafka3: 64 image: confluentinc/cp-kafka:7.6.0 65 hostname: kafka3 66 container_name: kafka3 67 depends_on: 68 - zookeeper 69 ports: 70 - "9094:9094" 71 - "9103:9103" 72 environment: 73 KAFKA_BROKER_ID: 3 74 KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' 75 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT 76 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka3:29094,PLAINTEXT_HOST://localhost:9094 77 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3 78 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 2 79 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 3 80 KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 81 KAFKA_JMX_PORT: 9103 82 KAFKA_JMX_HOSTNAME: localhost 83 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' 84 volumes: 85 - kafka3-data:/var/lib/kafka/data 86 87 cassandra: 88 image: cassandra:5.0 89 hostname: cassandra 90 container_name: cassandra 91 ports: 92 - "9042:9042" # CQL native transport port 93 - "7000:7000" # Inter-node cluster communication 94 - "7199:7199" # JMX monitoring port 95 environment: 96 CASSANDRA_CLUSTER_NAME: 'MyCluster' 97 CASSANDRA_DC: 'dc1' 98 CASSANDRA_RACK: 'rack1' 99 CASSANDRA_ENDPOINT_SNITCH: 'GossipingPropertyFileSnitch' 100 CASSANDRA_NUM_TOKENS: 256 101 # Reduce memory usage for local development 102 MAX_HEAP_SIZE: '512M' 103 HEAP_NEWSIZE: '128M' 104 # Override JVM opts to limit direct memory to fit in container 105 JVM_OPTS: '-Xms512M -Xmx512M -XX:MaxDirectMemorySize=256M' 106 volumes: 107 - cassandra-data:/var/lib/cassandra 108 # Limit container memory (increased to accommodate heap + direct memory + overhead) 109 mem_limit: 2g 110 memswap_limit: 2g 111 # Disable swap for better performance 112 mem_swappiness: 0 113 # Allow memory locking (reduces warnings) 114 ulimits: 115 memlock: -1 116 nofile: 117 soft: 65536 118 hard: 65536 119 healthcheck: 120 test: ["CMD-SHELL", "cqlsh -e 'describe cluster'"] 121 interval: 30s 122 timeout: 10s 123 retries: 5 124 125 imgproxy: 126 image: darthsim/imgproxy:latest 127 hostname: imgproxy 128 container_name: imgproxy 129 ports: 130 - "9525:9525" 131 environment: 132 IMGPROXY_BIND: ":9525" 133 IMGPROXY_ONLY_PRESETS: "true" 134 IMGPROXY_BASE_URL: "http://localhost:9525" 135 IMGPROXY_USE_ETAG: "true" 136 IMGPROXY_PRESETS: "fullsize=resizing_type:fit/width:2000/height:2000/format:jpeg,thumb=resizing_type:fit/width:200/height:200/format:jpeg" 137 restart: unless-stopped 138 139volumes: 140 zookeeper-data: 141 zookeeper-logs: 142 kafka1-data: 143 kafka2-data: 144 kafka3-data: 145 cassandra-data: