version: "2.2" volumes: metadata_data: {} middle_var: {} historical_var: {} broker_var: {} coordinator_var: {} router_var: {} druid_shared: {} services: app: image: pathogen/monolith:latest container_name: monolith 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 container_name: threshold 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 # db: #image: pathogen/manticore:kibana # image: manticoresearch/manticore:latest #build: # context: ./docker/manticore # args: # DEV: 1 # restart: always turnilo: container_name: turnilo image: uchhatre/turnilo:latest ports: - 9093:9090 environment: - DRUID_BROKER_URL=http://broker:8082 - CONFIG_FILE=/config.yaml volumes: - ${PORTAINER_GIT_DIR}/docker/turnilo.yaml:/config.yaml depends_on: - broker metabase: container_name: metabase image: metabase/metabase:latest ports: - 3096:3000 environment: JAVA_OPTS: -Xmx1g MB_DB_TYPE: postgres MB_DB_DBNAME: metabase MB_DB_PORT: 5432 MB_DB_USER: druid MB_DB_PASS: FoolishPassword MB_DB_HOST: postgres 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: wurstmeister/kafka:latest container_name: kafka depends_on: - zookeeper ports: - 9092:9092 - 29092:29092 environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 KAFKA_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' KAFKA_MESSAGE_MAX_BYTES: 2000000 #KAFKA_HEAP_OPTS: -Xmx2g healthcheck: test: ["CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "kafka:9092"] start_period: 15s interval: 30s timeout: 30s retries: 45 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