| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| version: '2.1' |
| |
| services: |
| postgres: |
| container_name: postgres |
| image: postgres:13.4-alpine3.14 |
| ports: |
| - "5432:5432" |
| volumes: |
| - ./sql:/docker-entrypoint-initdb.d:Z |
| healthcheck: |
| test: [ "CMD", "pg_isready", "-q", "-d", "kogito", "-U", "kogito-user" ] |
| timeout: 45s |
| interval: 10s |
| retries: 50 |
| environment: |
| POSTGRES_USER: postgres |
| POSTGRES_PASSWORD: postgres |
| |
| pgadmin-compose: |
| image: dpage/pgadmin4:5.0 |
| environment: |
| PGADMIN_DEFAULT_EMAIL: user@user.org |
| PGADMIN_DEFAULT_PASSWORD: pass |
| ports: |
| - 8055:80 |
| depends_on: |
| - postgres |
| container_name: pgadmin-container |
| |
| zookeeper: |
| container_name: zookeeper |
| image: strimzi/kafka:0.20.1-kafka-2.6.0 |
| command: [ |
| "sh", "-c", |
| "bin/zookeeper-server-start.sh config/zookeeper.properties" |
| ] |
| ports: |
| - "2181:2181" |
| environment: |
| LOG_DIR: "/tmp/logs" |
| |
| kafka: |
| image: strimzi/kafka:0.20.1-kafka-2.6.0 |
| container_name: kafka |
| command: [ |
| "sh", "-c", |
| "bin/kafka-server-start.sh config/server.properties --override inter.broker.listener.name=$${KAFKA_INTER_BROKER_LISTENER_NAME} --override listener.security.protocol.map=$${KAFKA_LISTENER_SECURITY_PROTOCOL_MAP} --override listeners=$${KAFKA_LISTENERS} --override advertised.listeners=$${KAFKA_ADVERTISED_LISTENERS} --override zookeeper.connect=$${KAFKA_ZOOKEEPER_CONNECT}" |
| ] |
| depends_on: |
| - zookeeper |
| ports: |
| - "9092:9092" |
| environment: |
| KAFKA_BROKER_ID: 0 |
| KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 |
| KAFKA_LISTENERS: INTERNAL://kafka:29092,EXTERNAL://kafka:9092 |
| KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:29092,EXTERNAL://localhost:9092 |
| KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT |
| KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL |
| KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" |
| KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 |
| LOG_DIR: "/tmp/logs" |
| |
| serverless-workflow-service: |
| container_name: serverless-workflow-service |
| image: dev.local/${USER}/serverless-workflow-data-index-quarkus:1.0-SNAPSHOT |
| ports: |
| - "8080:8080" |
| depends_on: |
| kafka: |
| condition: service_started |
| postgres: |
| condition: service_healthy |
| environment: |
| QUARKUS_DATASOURCE_JDBC_URL: "jdbc:postgresql://postgres:5432/kogito" |
| QUARKUS_DATASOURCE_USERNAME: kogito-user |
| QUARKUS_DATASOURCE_PASSWORD: kogito-pass |
| QUARKUS_DATASOURCE_DB_KIND: postgresql |
| KAFKA_BOOTSTRAP_SERVERS: kafka:29092 |
| KOGITO_SERVICE_URL: http://localhost:8080 |