# # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # x-superset-depends-on: &superset-depends-on - db - redis x-superset-volumes: &superset-volumes # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container - ./docker:/app/docker - superset_home:/app/superset_home x-common-build: &common-build context: . target: dev cache_from: - apache/superset-cache:3.10-slim-bookworm version: "4.0" services: redis: image: redis:7 container_name: superset_cache restart: unless-stopped volumes: - redis:/data db: env_file: docker/.env image: postgres:15 container_name: superset_db restart: unless-stopped volumes: - db_home:/var/lib/postgresql/data - ./docker/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d superset: env_file: docker/.env build: <<: *common-build 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: container_name: superset_init build: <<: *common-build command: ["/app/docker/docker-init.sh"] env_file: docker/.env depends_on: *superset-depends-on user: "root" volumes: *superset-volumes healthcheck: disable: true superset-worker: build: <<: *common-build container_name: superset_worker command: ["/app/docker/docker-bootstrap.sh", "worker"] env_file: docker/.env restart: unless-stopped depends_on: *superset-depends-on user: "root" volumes: *superset-volumes healthcheck: test: [ "CMD-SHELL", "celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME", ] superset-worker-beat: build: <<: *common-build container_name: superset_worker_beat command: ["/app/docker/docker-bootstrap.sh", "beat"] env_file: docker/.env restart: unless-stopped depends_on: *superset-depends-on user: "root" volumes: *superset-volumes healthcheck: disable: true volumes: superset_home: external: false db_home: external: false redis: external: false