services:
postgres:
restart: always
container_name: data-collector-postgres
image: postgres:12-alpine
volumes:
- ./docker/postgres/init_db.sql:/docker-entrypoint-initdb.d/init.sql
ports:
- "5432:5432"
env_file:
- ./docker/postgres/postgres.env
zookeeper:
container_name: data-collector-zookeeper-1
image: confluentinc/cp-zookeeper:7.4.4
restart: always
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 22181:2181
kafka:
container_name: data-collector-kafka-1
image: confluentinc/cp-kafka:7.4.4
restart: always
depends_on:
- zookeeper-1
- zookeeper-2
ports:
- 29092:29092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper-1:2181,zookeeper-2:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-1:9092,PLAINTEXT_HOST://localhost:29092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"