version: "3" services: zookeeper: image: 'bitnami/zookeeper:latest' ports: - '2181:2181' environment: - ALLOW_ANONYMOUS_LOGIN=yes restart: always kafka: image: 'bitnami/kafka:latest' ports: - '9092:9092' environment: - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 - ALLOW_PLAINTEXT_LISTENER=yes - KAFKA_DELETE_TOPIC_ENABLE=true restart: always depends_on: - zookeeper grafana: build: grafana environment: - GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=vertamedia-clickhouse-datasource ports: - '3000:3000' restart: always volumes: - ./grafana/datasources-ch.yml:/etc/grafana/provisioning/datasources/datasources-ch.yml - ./grafana/dashboards.yml:/etc/grafana/provisioning/dashboards/dashboards.yml - ./grafana/dashboards:/var/lib/grafana/dashboards prometheus: image: 'prom/prometheus' ports: - '9090:9090' restart: always volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml goflow: build: context: ../ dockerfile: Dockerfile depends_on: - kafka ports: - '8080:8080' - '6343:6343/udp' - '2055:2055/udp' restart: always command: - -transport.kafka.brokers=kafka:9092 - -transport=kafka - -transport.kafka.topic=flows - -format=pb - -format.protobuf.fixedlen=true db: image: yandex/clickhouse-server ports: - 8123:8123 volumes: - ./clickhouse:/docker-entrypoint-initdb.d/ - ../pb/flow.proto:/var/lib/clickhouse/format_schemas/flow.proto depends_on: - kafka