+ command: sleep infinity
+ stop_grace_period: 0s
+ depends_on:
+ - kafka
+ - traefik
+
+ setup:
+ image: juplo/toolbox
+ command:
+ - bash
+ - -c
+ - |
+ cub kafka-ready -b kafka:9092 1 60 > /dev/null 2>&1 || exit 1
+ if [ -e INITIALIZED ]
+ then
+ echo -n Bereits konfiguriert:
+ cat INITIALIZED
+ kafka-topics --bootstrap-server kafka:9092 --describe --topic users
+ kafka-topics --bootstrap-server kafka:9092 --describe --topic recordings
+ kafka-topics --bootstrap-server kafka:9092 --describe --topic words
+ kafka-topics --bootstrap-server kafka:9092 --describe --topic countings
+ kafka-topics --bootstrap-server kafka:9092 --describe --topic top10
+ kafka-topics --bootstrap-server kafka:9092 --describe --topic popular
+ else
+ kafka-topics --bootstrap-server kafka:9092 \
+ --delete \
+ --if-exists \
+ --topic users
+ kafka-topics --bootstrap-server kafka:9092 \
+ --delete \
+ --if-exists \
+ --topic recordings
+ kafka-topics --bootstrap-server kafka:9092 \
+ --delete \
+ --if-exists \
+ --topic words
+ kafka-topics --bootstrap-server kafka:9092 \
+ --delete \
+ --if-exists \
+ --topic countings
+ kafka-topics --bootstrap-server kafka:9092 \
+ --delete \
+ --if-exists \
+ --topic top10
+ kafka-topics --bootstrap-server kafka:9092 \
+ --delete \
+ --if-exists \
+ --topic popular
+ kafka-topics --bootstrap-server kafka:9092 \
+ --create \
+ --topic users \
+ --partitions 3 \
+ --replication-factor 1 \
+ --config min.insync.replicas=1 \
+ && echo Das Topic \'users\' wurde erfolgreich angelegt: \
+ && kafka-topics --bootstrap-server kafka:9092 --describe --topic users \
+ && kafka-topics --bootstrap-server kafka:9092 \
+ --create \
+ --topic recordings \
+ --partitions 3 \
+ --replication-factor 1 \
+ --config min.insync.replicas=1 \
+ && echo Das Topic \'recordings\' wurde erfolgreich angelegt: \
+ && kafka-topics --bootstrap-server kafka:9092 --describe --topic recordings \
+ && kafka-topics --bootstrap-server kafka:9092 \
+ --create \
+ --topic words \
+ --partitions 3 \
+ --replication-factor 1 \
+ --config min.insync.replicas=1 \
+ && echo Das Topic \'words\' wurde erfolgreich angelegt: \
+ && kafka-topics --bootstrap-server kafka:9092 --describe --topic words \
+ && kafka-topics --bootstrap-server kafka:9092 \
+ --create \
+ --topic countings \
+ --partitions 3 \
+ --replication-factor 1 \
+ --config min.insync.replicas=1 \
+ && echo Das Topic \'countings\' wurde erfolgreich angelegt: \
+ && kafka-topics --bootstrap-server kafka:9092 --describe --topic countings \
+ && kafka-topics --bootstrap-server kafka:9092 \
+ --create \
+ --topic top10 \
+ --partitions 3 \
+ --replication-factor 1 \
+ --config min.insync.replicas=1 \
+ && echo Das Topic \'top10\' wurde erfolgreich angelegt: \
+ && kafka-topics --bootstrap-server kafka:9092 --describe --topic top10 \
+ && kafka-topics --bootstrap-server kafka:9092 \
+ --create \
+ --topic popular \
+ --partitions 3 \
+ --replication-factor 1 \
+ --config min.insync.replicas=1 \
+ && echo Das Topic \'popular\' wurde erfolgreich angelegt: \
+ && kafka-topics --bootstrap-server kafka:9092 --describe --topic popular \
+ && date > INITIALIZED
+ fi
+ stop_grace_period: 0s
+ depends_on:
+ - cli
+
+ akhq:
+ image: tchiotludo/akhq:0.18.0
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.routers.akhq.rule=Host(`akhq.localhost`)"
+ - "traefik.http.routers.akhq.entrypoints=web"
+ expose:
+ - 8080
+ environment:
+ AKHQ_CONFIGURATION: |
+ akhq:
+ connections:
+ docker-kafka-server:
+ properties:
+ bootstrap.servers: "kafka:9092"