Web-UI Conduktor installiert
[demos/kafka/training] / docker / docker-compose.yml
index e2a9f27..c1727c0 100644 (file)
@@ -140,7 +140,20 @@ services:
 
   cli:
     image: juplo/toolbox
-    command: sleep infinity
+    command:
+      - bash
+      - -c
+      - >-
+        cd /home/appuser;
+        cat movies.json | kafka-avro-console-producer
+        --bootstrap-server kafka:9092
+        --topic test
+        --property schema.registry.url=http://schema-registry:8085
+        --property value.schema="$$(cat movie.avsc)";
+        exec sleep infinity
+    volumes:
+      - ./movie.avsc:/home/appuser/movie.avsc:ro
+      - ./movies.json:/home/appuser/movies.json:ro
     stop_grace_period: 0s
     depends_on:
       - kafka-1
@@ -178,30 +191,80 @@ services:
     depends_on:
       - cli
 
-  akhq:
-    image: tchiotludo/akhq:0.23.0
+  zoonavigator:
+    image: elkozmon/zoonavigator:1.1.2
     ports:
-      - 8888:8080
+      - "8000:80"
+    environment:
+      HTTP_PORT: 80
+      CONNECTION_JUPLO_NAME: juplo
+      CONNECTION_JUPLO_CONN: zookeeper:2181
+      AUTO_CONNECT_CONNECTION_ID: JUPLO
+    depends_on:
+      - zookeeper
+
+  postgresql:
+    image: postgres:14
+    volumes:
+      - postgres:/var/lib/postgresql/data
     environment:
-      AKHQ_CONFIGURATION: |
-        akhq:
-          connections:
-            docker-kafka-server:
-              properties:
-                bootstrap.servers: "kafka:9092"
-              schema-registry:
-                url: "http://schema-registry:8085"
-              connect:
-                - name: "connect"
-                  url: "http://connect:8083"
+      POSTGRES_DB: conduktor-platform
+      POSTGRES_USER: juplo
+      POSTGRES_PASSWORD: juplo
+      POSTGRES_HOST_AUTH_METHOD: scram-sha-256
+
+  conduktor-platform:
+    image: conduktor/conduktor-platform:1.18.2
+    depends_on:
+      - postgresql
+    volumes:
+      - conduktor:/var/conduktor
+    environment:
+      CDK_DATABASE_URL: postgresql://juplo:juplo@postgresql:5432/conduktor-platform
+      CDK_CLUSTERS_0_ID: juplo
+      CDK_CLUSTERS_0_NAME: juplo
+      CDK_CLUSTERS_0_BOOTSTRAPSERVERS: kafka-1:9092,kafka-2:9092,kafka-3:9092
+      CDK_CLUSTERS_0_SCHEMAREGISTRY_URL: http://schema-registry:8085
+      CDK_CLUSTERS_0_KAFKACONNECTS_0_ID: juplo
+      CDK_CLUSTERS_0_KAFKACONNECTS_0_NAME: juplo
+      CDK_CLUSTERS_0_KAFKACONNECTS_0_URL: http://connect:8083
+      CDK_CLUSTERS_0_JMXSCRAPEPORT: 80
+      CDK_MONITORING_CORTEX-URL: http://conduktor-monitoring:9009/
+      CDK_MONITORING_ALERT-MANAGER-URL: http://conduktor-monitoring:9010/
+      CDK_MONITORING_CALLBACK-URL: http://conduktor-platform:8080/monitoring/api/
+      CDK_MONITORING_NOTIFICATIONS-CALLBACK-URL: http://localhost:8080
+      CDK_ORGANIZATION_NAME: juplo
+      CDK_ADMIN_EMAIL: juplo
+      CDK_ADMIN_PASSWORD: juplo
+    healthcheck:
+      test: curl -f http://localhost:8080/platform/api/modules/health/live || exit 1
+      interval: 10s
+      start_period: 10s
+      timeout: 5s
+      retries: 3
+    ports:
+      - 8888:8080
     depends_on:
+      - postgresql
       - kafka-1
       - kafka-2
       - kafka-3
 
+  conduktor-monitoring:
+    image: conduktor/conduktor-platform-cortex:1.18.2
+    environment:
+      CDK_CONSOLE-URL: http://conduktor-platform:8080
+    volumes:
+      - cortex:/var/conduktor
+    depends_on:
+      - conduktor-platform
+
 volumes:
   zookeeper-data:
   zookeeper-log:
   kafka-1-data:
   kafka-2-data:
   kafka-3-data:
+  postgres:
+  conduktor:
+  cortex: