version: "3" services: zookeeper: image: bitnami/zookeeper:3.6.3 ports: - 2181:2181 environment: - ALLOW_ANONYMOUS_LOGIN=yes restart: always kafka: image: bitnami/kafka:2.8.0 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:v2.27.0 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:21.5.6.6 ports: - 8123:8123 volumes: - ./clickhouse:/docker-entrypoint-initdb.d/ - ../../pb/flow.proto:/var/lib/clickhouse/format_schemas/flow.proto - ./clickhouse/protocols.csv:/var/lib/clickhouse/user_files/protocols.csv depends_on: - kafka