docker-compose.yaml ```yaml version: "3.9" services: mysql: image: mysql:8.0 container_name: if-mysql restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: "123456" MYSQL_DATABASE: "testdb" MYSQL_USER: "candide" MYSQL_PASSWORD: "123456" volumes: - ./data/mysql:/var/lib/mysql redis: image: redis:7 container_name: if-redis restart: always ports: - "6379:6379" command: ["redis-server", "--appendonly", "yes"] volumes: - ./data/redis:/data clickhouse: image: clickhouse/clickhouse-server:23.8 container_name: if-clickhouse restart: always ports: - "8123:8123" - "9000:9000" environment: CLICKHOUSE_DB: "testdb" CLICKHOUSE_USER: "candide" CLICKHOUSE_PASSWORD: "123456" CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1 volumes: - ./data/clickhouse:/var/lib/clickhouse - ./data/clickhouse-logs:/var/log/clickhouse-server ulimits: nofile: soft: 262144 hard: 262144 zookeeper: image: confluentinc/cp-zookeeper:7.4.0 container_name: if-zookeeper restart: always ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 postgres: image: postgres:16 container_name: if-postgres restart: always ports: - "5432:5432" environment: POSTGRES_USER: "candide" POSTGRES_PASSWORD: "123456" POSTGRES_DB: "testdb" volumes: - ./data/postgres:/var/lib/postgresql/data kafka: image: confluentinc/cp-kafka:7.4.0 container_name: if-kafka restart: always ports: - "9092:9092" - "9101:9101" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 KAFKA_JMX_PORT: 9101 KAFKA_JMX_HOSTNAME: localhost depends_on: - zookeeper kafka-ui: image: provectuslabs/kafka-ui:latest container_name: if-kafka-ui restart: always ports: - "18080:8080" environment: DYNAMIC_CONFIG_ENABLED: 'true' KAFKA_CLUSTERS_0_NAME: local KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092 KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper:2181 depends_on: - kafka ```