version: "2.2" # volumes: # metadata_data: {} # middle_var: {} # historical_var: {} # broker_var: {} # coordinator_var: {} # router_var: {} # druid_shared: {} x-superset-image: &superset-image apache/superset:${TAG:-latest-dev} x-superset-depends-on: &superset-depends-on - db - redis_superset x-superset-volumes: &superset-volumes # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container - ./superset:/app/docker - superset_home:/app/superset_home services: app: image: pathogen/monolith:latest container_name: monolith build: ./docker volumes: - ${PORTAINER_GIT_DIR}:/code env_file: - ../stack.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: - ../stack.env 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 # 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 redis_superset: image: redis:latest container_name: superset_cache restart: unless-stopped volumes: - redis:/data db: env_file: .env-non-dev image: postgres:10 container_name: superset_db restart: unless-stopped volumes: - db_home:/var/lib/postgresql/data superset: env_file: .env-non-dev image: *superset-image container_name: superset_app command: ["/app/docker/docker-bootstrap.sh", "app-gunicorn"] user: "root" restart: unless-stopped ports: - 8088:8088 depends_on: *superset-depends-on volumes: *superset-volumes superset-init: image: *superset-image container_name: superset_init command: ["/app/docker/docker-init.sh"] env_file: .env-non-dev depends_on: *superset-depends-on user: "root" volumes: *superset-volumes superset-worker: image: *superset-image container_name: superset_worker command: ["/app/docker/docker-bootstrap.sh", "worker"] env_file: .env-non-dev restart: unless-stopped depends_on: *superset-depends-on user: "root" volumes: *superset-volumes superset-worker-beat: image: *superset-image container_name: superset_worker_beat command: ["/app/docker/docker-bootstrap.sh", "beat"] env_file: .env-non-dev restart: unless-stopped depends_on: *superset-depends-on user: "root" volumes: *superset-volumes postgres: container_name: postgres image: postgres:latest volumes: - /block/store/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: - /block/store/druid_shared:/opt/shared - /block/store/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: - /block/store/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: - /block/store/druid_shared:/opt/shared - /block/store/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: - /block/store/druid_shared:/opt/shared - /block/store/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: - /block/store/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 - redis_data:/data 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 volumes: redis_data: {} superset_home: external: false db_home: external: false redis: external: false