This is an automated email from the ASF dual-hosted git repository.
sfirke pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 7fceb05c1ce docs(docker): drop redundant packages from custom image
example, bump version numbers (#44240)
7fceb05c1ce is described below
commit 7fceb05c1ce99424a0832605e5f36276a34cfcf9
Author: Sam Firke <[email protected]>
AuthorDate: Thu Oct 22 11:40:45 2026 -0400
docs(docker): drop redundant packages from custom image example, bump
version numbers (#44240)
---
UPDATING.md | 7 +++--
docs/admin_docs/installation/docker-builds.mdx | 43 +++++++++++++-------------
2 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/UPDATING.md b/UPDATING.md
index eb8d3fd39b1..0e2c1aa2534 100644
--- a/UPDATING.md
+++ b/UPDATING.md
@@ -878,14 +878,17 @@ them had no effect and they can be deleted from custom
configs.
### Default Docker image is now batteries-included; the minimal image moves to
`-lean`
The default `apache/superset` Docker image (the plain tags: `latest`, `master`,
-`5.0.0`, per-SHA) is now a batteries-included, production-grade image. It
bundles
+`7.0.0`, per-SHA) is now a batteries-included, production-grade image. It
bundles
the common metadata/analytics drivers (`psycopg2-binary` for PostgreSQL,
`mysqlclient` for MySQL), the MCP server dependencies (`fastmcp`), and a
headless
Chromium (via Playwright) for Alerts & Reports and thumbnail generation. It
still
runs as the non-root `superset` user and is byte-compiled like before.
The previous minimal image — with **no** database drivers — is still published,
-but under `-lean` tags: `latest-lean`, `master-lean`, `5.0.0-lean`,
`<sha>-lean`.
+but under `-lean` tags: `latest-lean`, `master-lean`, `7.0.0-lean`,
`<sha>-lean`.
+This naming starts with 7.0.0. For earlier releases (6.1.0 and before), the
plain tag
+(e.g. `6.1.0`) is the minimal image; where a `-lean` tag exists for one of
those
+releases, it is the same minimal image.
**What operators should expect:**
diff --git a/docs/admin_docs/installation/docker-builds.mdx
b/docs/admin_docs/installation/docker-builds.mdx
index 36a0a1af8a6..5d7aa8a15d4 100644
--- a/docs/admin_docs/installation/docker-builds.mdx
+++ b/docs/admin_docs/installation/docker-builds.mdx
@@ -15,7 +15,7 @@ Images are built, and some of them are pushed to the
[Superset Docker Hub reposi
Different sets of images are built and/or published at different times:
- **Published releases** (`release`): published by the release workflow after
- release manager sign-off, using tags like `5.0.0` and the `latest` tag.
+ release manager sign-off, using tags like `7.0.0` and the `latest` tag.
- **Pull request validation** (`pull_request`): pull requests build the
`superset`, `dev`, and `lean` presets to validate the Dockerfile. These
validation images are loaded into the CI runner and are not published.
@@ -36,23 +36,28 @@ for the build, and/or base image.
Here are the build presets that are published to Docker Hub:
- `superset`: The default Docker image, including both frontend and backend.
Tags
- without a build_preset suffix are `superset` builds (ie: `latest`, `5.0.0`,
`4.1.2`, ...).
+ without a build_preset suffix are `superset` builds (ie: `latest`, `7.0.0`,
`master`, ...).
It bundles the common metadata/analytics drivers (`psycopg2-binary` for
PostgreSQL and
`mysqlclient` for MySQL), the MCP server dependencies, and a headless
Chromium (via
Playwright) for Alerts & Reports and thumbnail generation, so it is usable
out of the box.
You'll still need to layer any additional drivers required to connect to
your specific
analytics database(s).
- `lean`: A minimal image, including both frontend and backend but **no
database
- drivers** — published under `-lean` tags (ie: `latest-lean`, `5.0.0-lean`,
`master-lean`).
+ drivers** — published under `-lean` tags (ie: `latest-lean`, `7.0.0-lean`,
`master-lean`).
That applies to analytics databases **AND the metadata database**, so you'll
need to
layer either `mysqlclient` or `psycopg2-binary` depending on the metadata
database you
choose, plus the required drivers to connect to your analytics database(s).
Use this when
you want the smallest possible image and full control over what gets
installed.
-- `dev`: For development, with a headless browser, dev-related utilities and
root access. This
+- `dev`: For development, with dev-related utilities and root access. This
includes some commonly used database drivers like `mysqlclient`,
`psycopg2-binary` and
- some other used for development/CI
+ some others used for development/CI. The published `-dev` images do not
include a headless
+ browser; to add Chromium, build the `dev` target with `--build-arg
INCLUDE_CHROMIUM=true`.
- `py311` and `py312`: Similar to lean but with a different Python version.
+Release tags follow this `superset`/`lean` naming starting with 7.0.0. For
earlier releases
+(6.1.0 and before), the plain tag (e.g. `6.1.0`) is the minimal image; where a
`-lean` tag
+exists for one of those releases, it is the same minimal image.
+
Standalone `websocket` and `dockerize` images are not published. The realtime
WebSocket server is bundled in the `superset`, `lean`, and `dev` images and can
be started with `/app/docker/entrypoints/run-websocket.sh`. Helm init
containers
@@ -73,12 +78,13 @@ it receives signals directly and its exit status becomes
the container status.
a headless browser).
- `latest-lean`: the minimal variant of the latest official release build,
with no database
drivers.
-- `latest-dev`: the `-dev` image of the latest official release build, with a
- headless browser and root access.
+- `latest-dev`: the `-dev` image of the latest official release build, with
dev-related
+ utilities and root access (no headless browser).
- `master`: The latest build from the `master` branch, implicitly the
`superset` (default)
build preset
- `master-lean`: Similar to `master` but the minimal variant with no database
drivers.
-- `master-dev`: Similar to `master` but includes a headless browser and root
access.
+- `master-dev`: The `-dev` image built from the `master` branch, with
dev-related utilities
+ and root access (no headless browser).
- `pr-5252-a1b2c3d-ci`: A Showtime image for a specific pull request commit.
- `30948dc401b40982cb7c0dbf6ebbe443b2748c1b-dev`: A build for
this specific SHA, which could be from a `master` merge or official release
build.
@@ -97,15 +103,14 @@ you need additional analytics database drivers, or when
you prefer to start from
`-lean` image and install only what you need.
Here's an example Dockerfile that does this. Follow the in-line comments to
customize it for
-your desired Superset version and database drivers. The comments also note
that a certain feature flag will
-have to be enabled in your config file.
+your desired Superset version and database drivers.
-You would build the image with `docker build -t mysuperset:latest .` or
`docker build -t ourcompanysuperset:5.0.0 .`
+You would build the image with `docker build -t mysuperset:latest .` or
`docker build -t ourcompanysuperset:7.0.0 .`
```Dockerfile
# Start from the minimal lean image (no drivers) and add exactly what you need.
# Replace this with the release tag you deploy.
-FROM apache/superset:5.0.0-lean
+FROM apache/superset:7.0.0-lean
USER root
@@ -121,14 +126,8 @@ RUN . /app/.venv/bin/activate && \
pymssql \
# package needed for using single-sign on authentication:
Authlib \
- # openpyxl to be able to upload Excel files
- openpyxl \
- # Pillow for Alerts & Reports to generate PDFs of dashboards
- Pillow \
- # install Playwright for taking screenshots for Alerts & Reports. This
assumes the feature flag PLAYWRIGHT_REPORTS_AND_THUMBNAILS is enabled
- # That feature flag will default to True starting in 6.0.0
- # Playwright works only with Chrome.
- # If you are still using Selenium instead of Playwright, you would instead
install here the selenium package and a headless browser & webdriver
+ # Playwright with Chromium takes the screenshots for Alerts & Reports and
thumbnails.
+ # It is required as of 7.0.0, which removed Selenium support.
playwright \
&& playwright install-deps \
&& PLAYWRIGHT_BROWSERS_PATH=/usr/local/share/playwright-browsers
playwright install chromium
@@ -156,7 +155,7 @@ Docker can reuse the cached upstream layers and only
rebuild what your stage add
# Append this to the end of the repo's Dockerfile
# Keep this tag in sync with the branch/tag of the repo you cloned, so the
# translation files built from source match the keys the runtime expects:
-FROM apache/superset:5.0.0 AS my-custom-image
+FROM apache/superset:7.0.0 AS my-custom-image
USER root
# Pull the translation files out of the earlier build stages (frontend
@@ -174,7 +173,7 @@ USER superset
Then build with:
```bash
-docker build --target=my-custom-image --build-arg=BUILD_TRANSLATIONS=true -t
mysuperset:5.0.0 .
+docker build --target=my-custom-image --build-arg=BUILD_TRANSLATIONS=true -t
mysuperset:7.0.0 .
```
You can combine this with the database-driver/dependency pattern above by
adding your own