mirror of
https://github.com/apache/superset.git
synced 2026-07-18 12:45:44 +00:00
Adds a compose overlay (MinIO as S3 stand-in + Mailpit as SMTP catcher, with auto bucket creation) and a runbook so reviewers can verify the async Excel export end-to-end locally: UI button -> Celery worker -> S3 upload -> emailed pre-signed link -> downloadable .xlsx. Runs under a distinct compose project name with conflicting host port bindings reset, so it coexists with other local superset stacks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
65 lines
2.2 KiB
YAML
65 lines
2.2 KiB
YAML
#
|
|
# 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.
|
|
#
|
|
# Local-verification overlay for the dashboard "Export Data to Excel" feature.
|
|
# Adds MinIO (S3 stand-in) + Mailpit (SMTP catcher) and un-binds the redis/db
|
|
# host ports that collide with other containers on this machine.
|
|
#
|
|
# Usage (distinct project name so it can't touch your other superset stacks):
|
|
# docker compose -p amman-excel \
|
|
# -f docker-compose.yml -f docker-compose-excel-verify.yml \
|
|
# up -d superset superset-worker superset-init minio createbucket mailpit
|
|
services:
|
|
minio:
|
|
image: minio/minio
|
|
# Listen on 9100 (not the default 9000) so the pre-signed URL port works
|
|
# identically inside the network and from your browser via /etc/hosts.
|
|
command: server /data --address ":9100" --console-address ":9101"
|
|
environment:
|
|
MINIO_ROOT_USER: minioadmin
|
|
MINIO_ROOT_PASSWORD: minioadmin
|
|
ports:
|
|
- "127.0.0.1:9100:9100"
|
|
- "127.0.0.1:9101:9101"
|
|
volumes:
|
|
- minio_data:/data
|
|
|
|
createbucket:
|
|
image: minio/mc
|
|
depends_on:
|
|
- minio
|
|
entrypoint: >
|
|
/bin/sh -c "
|
|
sleep 3;
|
|
mc alias set local http://minio:9100 minioadmin minioadmin &&
|
|
mc mb --ignore-existing local/dashboard-exports;
|
|
exit 0"
|
|
|
|
mailpit:
|
|
image: axllent/mailpit
|
|
ports:
|
|
- "127.0.0.1:8025:8025"
|
|
|
|
# Drop host port bindings that collide with other local containers
|
|
# (another workspace's redis on 6379, a standalone postgres on 5432).
|
|
redis:
|
|
ports: !reset []
|
|
db:
|
|
ports: !reset []
|
|
|
|
volumes:
|
|
minio_data:
|