version: "2.2" volumes: metadata_data: {} middle_var: {} historical_var: {} broker_var: {} coordinator_var: {} router_var: {} druid_shared: {} services: app: image: pathogen/monolith:latest build: ./docker volumes: - ${PORTAINER_GIT_DIR}:/code env_file: - .env volumes_from: - tmp depends_on: broker: condition: service_started kafka: condition: service_healthy tmp: condition: service_started redis: condition: service_healthy # - db threshold: image: pathogen/threshold:latest build: ./legacy/docker volumes: - ${PORTAINER_GIT_DIR}:/code - ${THRESHOLD_CONFIG_DIR}:/code/legacy/conf/live #- ${THRESHOLD_TEMPLATE_DIR}:/code/conf/templates - ${THRESHOLD_CERT_DIR}:/code/legacy/conf/cert ports: - "${THRESHOLD_LISTENER_PORT}:${THRESHOLD_LISTENER_PORT}" - "${THRESHOLD_RELAY_PORT}:${THRESHOLD_RELAY_PORT}" - "${THRESHOLD_API_PORT}:${THRESHOLD_API_PORT}" env_file: - .env # for development extra_hosts: - "host.docker.internal:host-gateway" volumes_from: - tmp depends_on: tmp: condition: service_started redis: condition: service_healthy turnilo: container_name: turnilo image: uchhatre/turnilo:latest ports: - 9093:9090 environment: - DRUID_BROKER_URL=http://broker:8082 depends_on: - broker metabase: container_name: metabase image: metabase/metabase:latest ports: - 3001:3000 depends_on: - broker postgres: container_name: postgres image: postgres:latest volumes: - metadata_data:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=FoolishPassword - POSTGRES_USER=druid - POSTGRES_DB=druid # Need 3.5 or later for container nodes zookeeper: container_name: zookeeper image: zookeeper:3.5 ports: - "2181:2181" environment: - ZOO_MY_ID=1 kafka: image: bitnami/kafka depends_on: - zookeeper - broker ports: - 29092:29092 - 9092:9092 environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 #KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 ALLOW_PLAINTEXT_LISTENER: yes # healthcheck: # test: ["CMD-SHELL", "kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --topic main --describe"] # interval: 2s # timeout: 2s # retries: 15 healthcheck: test: ["CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka:9092"] start_period: 15s interval: 2s timeout: 5s retries: 30 coordinator: image: apache/druid:0.23.0 container_name: coordinator volumes: - druid_shared:/opt/shared - coordinator_var:/opt/druid/var depends_on: - zookeeper - postgres ports: - "8081:8081" command: - coordinator env_file: - environment broker: image: apache/druid:0.23.0 container_name: broker volumes: - broker_var:/opt/druid/var depends_on: - zookeeper - postgres - coordinator ports: - "8082:8082" command: - broker env_file: - environment historical: image: apache/druid:0.23.0 container_name: historical volumes: - druid_shared:/opt/shared - historical_var:/opt/druid/var depends_on: - zookeeper - postgres - coordinator ports: - "8083:8083" command: - historical env_file: - environment middlemanager: image: apache/druid:0.23.0 container_name: middlemanager volumes: - druid_shared:/opt/shared - middle_var:/opt/druid/var depends_on: - zookeeper - postgres - coordinator ports: - "8091:8091" - "8100-8105:8100-8105" command: - middleManager env_file: - environment router: image: apache/druid:0.23.0 container_name: router volumes: - router_var:/opt/druid/var depends_on: - zookeeper - postgres - coordinator ports: - "8888:8888" command: - router env_file: - environment # db: # #image: pathogen/manticore:kibana # image: manticoresearch/manticore:dev # #build: # # context: ./docker/manticore # # args: # # DEV: 1 # restart: always # ports: # - 9308 # - 9312 # - 9306 # ulimits: # nproc: 65535 # nofile: # soft: 65535 # hard: 65535 # memlock: # soft: -1 # hard: -1 # environment: # - MCL=1 # volumes: # - ./docker/data:/var/lib/manticore # - ./docker/manticore.conf:/etc/manticoresearch/manticore.conf tmp: image: busybox command: chmod -R 777 /var/run/redis volumes: - /var/run/redis redis: image: redis command: redis-server /etc/redis.conf ulimits: nproc: 65535 nofile: soft: 65535 hard: 65535 volumes: - ${PORTAINER_GIT_DIR}/docker/redis.conf:/etc/redis.conf volumes_from: - tmp healthcheck: test: "redis-cli -s /var/run/redis/redis.sock ping" interval: 2s timeout: 2s retries: 15 networks: default: external: name: pathogen