|
| 1 | +services: |
| 2 | + broker1: |
| 3 | + image: confluentinc/cp-kafka:latest |
| 4 | + restart: always |
| 5 | + hostname: broker1 |
| 6 | + container_name: broker1 |
| 7 | + ports: |
| 8 | + - 9092:9092 # For external access |
| 9 | + - 19092:19092 # For external access |
| 10 | + - 9093:9093 # For controller communication |
| 11 | + environment: |
| 12 | + CLUSTER_ID: kraft-cluster-id-01 |
| 13 | + KAFKA_MESSAGE_MAX_BYTES: 3145764 # or higher (e.g., 20MB = 20971520) |
| 14 | + KAFKA_REPLICA_FETCH_MAX_BYTES: 3145764 # must be >= message.max.bytes |
| 15 | + KAFKA_FETCH_MESSAGE_MAX_BYTES: 3145764 |
| 16 | + KAFKA_PROCESS_ROLES: broker,controller |
| 17 | + KAFKA_NODE_ID: 1 |
| 18 | + KAFKA_LISTENERS: PLAINTEXT://broker1:9092,HOST://0.0.0.0:19092,CONTROLLER://broker1:9093 |
| 19 | + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker1:9092,HOST://localhost:19092 |
| 20 | + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,HOST:PLAINTEXT,CONTROLLER:PLAINTEXT |
| 21 | + KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER |
| 22 | + KAFKA_CONTROLLER_QUORUM_VOTERS: 1@broker1:9093 |
| 23 | + KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT |
| 24 | + KAFKA_LOG_DIRS: ./kraft-logs |
| 25 | + KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 |
| 26 | + KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 |
| 27 | + KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 |
| 28 | + KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR: 1 |
| 29 | + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 |
| 30 | + |
| 31 | + schemaregistry: |
| 32 | + image: confluentinc/cp-schema-registry:latest |
| 33 | + container_name: schemaregistry |
| 34 | + restart: always |
| 35 | + depends_on: |
| 36 | + - broker1 |
| 37 | + ports: |
| 38 | + - 8081:8081 |
| 39 | + environment: |
| 40 | + SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: "" |
| 41 | + SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://broker1:9092 |
| 42 | + SCHEMA_REGISTRY_HOST_NAME: schemaregistry |
| 43 | + SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081 |
| 44 | + SCHEMA_REGISTRY_DEBUG: 'true' |
| 45 | + database: |
| 46 | + image: fabrictestbed/postgres:17.7 |
| 47 | + container_name: database |
| 48 | + restart: always |
| 49 | + ports: |
| 50 | + - 5432:5432 |
| 51 | + volumes: |
| 52 | + - ${PGDATA_HOST:-.}/pg_data/data:${PGDATA:-/var/lib/postgresql/data} |
| 53 | + - ${PGDATA_HOST:-.}/pg_data/logs:${POSTGRES_INITDB_WALDIR:-/var/log/postgresql} |
| 54 | + environment: |
| 55 | + - POSTGRES_HOST=${POSTGRES_HOST:-database} |
| 56 | + - POSTGRES_PORT=5432 |
| 57 | + - POSTGRES_MULTIPLE_DATABASES=${POSTGRES_DB:-postgres} |
| 58 | + - POSTGRES_USER=${POSTGRES_USER:-postgres} |
| 59 | + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-fabric} |
| 60 | + - PGDATA=${PGDATA:-/var/lib/postgresql/data} |
| 61 | + neo4j1: &neo4j-base |
| 62 | + image: kthare10/neo4j-apoc:5.26.19 |
| 63 | + restart: always |
| 64 | + container_name: neo4j1 |
| 65 | + volumes: |
| 66 | + - ./neo4j1/data:/data |
| 67 | + - ./neo4j1/imports:/imports |
| 68 | + environment: |
| 69 | + - NEO4J_AUTH=neo4j/password |
| 70 | + - NEO4J_dbms_security_procedures_allowlist=apoc.*,gds.* |
| 71 | + - NEO4J_dbms_security_procedures_unrestricted=apoc.*,gds.* |
| 72 | + - NEO4J_server_memory_heap_initial__size=512m |
| 73 | + - NEO4J_server_memory_heap_max__size=512m |
| 74 | + - NEO4J_server_memory_pagecache_size=256m |
| 75 | + ports: |
| 76 | + - "7474:7474" |
| 77 | + - "7687:7687" |
| 78 | + healthcheck: |
| 79 | + test: ["CMD-SHELL", "cypher-shell -u neo4j -p password 'RETURN 1'"] |
| 80 | + interval: 10s |
| 81 | + timeout: 5s |
| 82 | + retries: 5 |
| 83 | + neo4j2: |
| 84 | + <<: *neo4j-base |
| 85 | + container_name: neo4j2 |
| 86 | + volumes: |
| 87 | + - ./neo4j2/data:/data |
| 88 | + - ./neo4j2/imports:/imports |
| 89 | + ports: |
| 90 | + - "8474:7474" |
| 91 | + - "8687:7687" |
| 92 | + |
| 93 | + neo4j3: |
| 94 | + <<: *neo4j-base |
| 95 | + container_name: neo4j3 |
| 96 | + volumes: |
| 97 | + - ./neo4j3/data:/data |
| 98 | + - ./neo4j3/imports:/imports |
| 99 | + ports: |
| 100 | + - "9474:7474" |
| 101 | + - "9687:7687" |
| 102 | + |
| 103 | + neo4j4: |
| 104 | + <<: *neo4j-base |
| 105 | + container_name: neo4j4 |
| 106 | + volumes: |
| 107 | + - ./neo4j4/data:/data |
| 108 | + - ./neo4j4/imports:/imports |
| 109 | + ports: |
| 110 | + - "10474:7474" |
| 111 | + - "10687:7687" |
0 commit comments