A demonstration project showing how to embed Apache Superset dashboards into external applications using the Superset SDK.

Overview

Apache Superset is a powerful open-source data exploration and visualization platform. This demo project showcases how to embed Superset dashboards into a Spring Boot application, enabling seamless integration of analytics dashboards into your own applications.

Repository: danielpaval/superset-embed-demo

Project Stack

The project combines several technologies:

  • Apache Superset (Python) - The analytics platform
  • Spring Boot (Java) - Backend application framework
  • Docker - Containerized deployment
  • Gradle - Build automation

Key Configuration

To enable embedding Superset dashboards, several configuration changes are required:

Docker Environment

SUPERSET_FEATURE_EMBEDDED_SUPERSET=true

Superset Configuration

In superset_config.py:

TALISMAN_ENABLED = False
OVERRIDE_HTTP_HEADERS = {'X-Frame-Options': 'ALLOWALL'}
ENABLE_CORS = True
CORS_OPTIONS = {
    'supports_credentials': True,
    'allow_headers': ['Content-Type', 'Authorization'],
    'resources': ['*'],
    'origins': ['*']
}
GUEST_ROLE_NAME = "Gamma"

Running the Project

The Docker setup is based on the official Superset Docker Compose configuration with modifications to support embedding:

docker compose -f .\docker-compose-image-tag.yml up -d

Features

  • ✅ Embedded Superset dashboards in external applications
  • ✅ CORS configuration for cross-origin requests
  • ✅ Guest role support for embedded access
  • ✅ Spring Boot backend integration
  • ✅ Dockerized deployment

Use Cases

Embedding Superset dashboards is useful when you want to:

  • Integrate analytics into your existing application UI
  • Provide customers with branded analytics experiences
  • Embed data visualizations in portals or SaaS platforms
  • Create custom dashboards with dynamic row-level filters

References

Next Steps

Future enhancements could include:

  • WTF_CSRF_EXEMPT_LIST configuration
  • Dynamic row-level security filters
  • User authentication integration
  • Production-ready security hardening

Check out the full source code at github.com/danielpaval/superset-embed-demo