templates/blueprints/superset/docker-compose.yml
2025-04-26 01:27:07 -06:00

88 lines
2.7 KiB
YAML

# This is an UNOFFICIAL production docker image build for Superset:
# - https://github.com/amancevice/docker-superset
#
#
# ## SETUP INSTRUCTIONS
#
# After deploying this image, you will need to run one of the two
# commands below in a terminal within the superset container:
# $ superset-demo # Initialise database + load demo charts/datasets
# $ superset-init # Initialise database only
#
# You will be prompted to enter the credentials for the admin user.
#
#
# ## NETWORK INSTRUCTIONS
#
# If you want to connect superset with other internal databases managed by
# Dokploy (on dokploy-network) using internal hostnames, you will need to
# uncomment the `networks` section, both for the superset container and
# at the very bottom of this docker-compose template.
#
# Note that the `superset` service name/hostname will not be unique on the
# global `dokploy-network`. If you plan to:
#
# 1. deploy a second instance of superset on dokploy-network, and
# 2. have other containers on dokploy-network utilise the second instance's
# Superset API (https://superset.apache.org/docs/api)
#
# Please change the service name of the second instance.
services:
superset:
image: amancevice/superset
restart: always
#networks:
# - dokploy-network
depends_on:
- superset_postgres
- superset_redis
volumes:
# This superset_config.py can be edited in Dokploy's UI Advanced -> Volume Mount
- ../files/superset/superset_config.py:/etc/superset/superset_config.py
environment:
SECRET_KEY: ${SECRET_KEY}
MAPBOX_API_KEY: ${MAPBOX_API_KEY}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
REDIS_PASSWORD: ${REDIS_PASSWORD}
# Ensure the hosts matches your service names below.
POSTGRES_HOST: superset_postgres
REDIS_HOST: superset_redis
superset_postgres:
image: postgres
restart: always
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
volumes:
- superset_postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 30s
timeout: 10s
retries: 3
superset_redis:
image: redis
restart: always
volumes:
- superset_redis_data:/data
command: redis-server --requirepass ${REDIS_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "redis-cli -a $${REDIS_PASSWORD} ping"]
interval: 30s
timeout: 10s
retries: 3
#networks:
# dokploy-network:
# external: true
volumes:
superset_postgres_data:
superset_redis_data: