version: "2.2" 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 - ${PORTAINER_GIT_DIR}/docker/superset:/app/docker - superset_home:/app/superset_home services: 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 druid: image: pathogen/druid:0.23.0 build: ./druid/ container_name: druid volumes: - /block/store/druid_shared:/opt/shared - /block/store/druid_var:/opt/druid/var depends_on: - zookeeper - postgres ports: - "8081:8081" - "8082:8082" - "8083:8083" - "8888:8888" env_file: - environment networks: default: external: name: pathogen volumes: superset_home: external: false db_home: external: false redis: external: false