Bug description

The 5.0,0-dev found on https://hub.docker.com/r/apache/superset does not contain geckodriver. Previous versions (e.g. 4.1.2-dev) did include these.

This breaks alerts and reports.

Steps to reproduce: 1. Pull image: docker pull apache/superset:5.0.0-dev 2. Create and enter bash shell in container: docker run -it --rm apache/superset:5.0.0-dev bash 3. which geckodriver should output a valid path to geckodriver (like /usr/local/bin/geckodriver), but it does not.

Screenshots/recordings

Image

Superset version

5.0.0

Python version

Not applicable

Node version

Not applicable

Browser

Firefox

Additional context

I did not find any information in the docs/slack/issues page that this would be removed.

I'll check the github workflows some more. It might have to do with releasing both v5.0.0 and 5.0.0 (first one was by mistake I think).

Checklist

  • [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

geckodriver was intentionally removed from the 5.0.0-dev Docker image to reduce image size and move toward Playwright-based browser support for alerts and reports. This change is not documented in the changelog or release notes, and there are no open issues or PRs discussing its removal or restoration.

If you need geckodriver and Firefox for your workflow, you can add them back by extending the official image with a custom Dockerfile. Here’s an example based on the current documentation:

FROM apache/superset:5.0.0-dev

USER root

RUN apt-get update && \
    apt-get install --no-install-recommends -y firefox-esr

ENV GECKODRIVER_VERSION=0.29.0
RUN wget -q https://github.com/mozilla/geckodriver/releases/download/v${GECKODRIVER_VERSION}/geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz && \
    tar -x geckodriver -zf geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz -O > /usr/bin/geckodriver && \
    chmod 755 /usr/bin/geckodriver && \
    rm geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz

USER superset

This will restore the previous behavior for alerts and reports that depend on geckodriver and Firefox. For more details, see the official documentation.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X

Comment From: lodu

@dosubot What is your source for "geckodriver was intentionally removed from the 5.0.0-dev Docker image to reduce image size and move toward Playwright-based browser support for alerts and reports. "?

Comment From: dosubot[bot]

There is no explicit project-internal source (PR, issue, commit message, or changelog) that directly states geckodriver was intentionally removed from the 5.0.0-dev Docker image to reduce image size or to move toward Playwright for alerts/reports. The closest reference is in the 5.0.0 release PR, which notes that the dev Dockerfile layer "no longer includes firefox binaries, only Chromium to reduce bloat/docker-build-time"—this implies, but does not directly state, the removal of geckodriver as well as Firefox binaries PR 33869.

The current Dockerfile installs Playwright and optionally Chromium/Firefox, but does not mention geckodriver at all, and there are no comments explaining its removal Dockerfile. The documentation now instructs users to add geckodriver and Firefox themselves if needed, but does not document the removal or a migration to Playwright alerts-reports docs.

So, the claim is based on indirect evidence: the Docker image no longer includes Firefox/geckodriver, Playwright is now included, and the only rationale mentioned is reducing image size and build time. There is no explicit statement or official documentation about the removal or a migration plan.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X

Comment From: lodu

@dosubot give me a direct link to the note that says "no longer includes firefox binaries, only Chromium to reduce bloat/docker-build-time"

Comment From: dosubot[bot]

You can find the note in the release notes section of PR 33869:
"The dev layer in our Dockerfile no long includes firefox binaries, only Chromium to reduce bloat/docker-build-time."
This line references PR 30021 as the origin of the change.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X

Comment From: lodu

So it might be by design (as dosubot says).

I added a installing geckodriver layer in the Dockerfile then enabled the FEATURE_FLAG PLAYWRIGHT_REPORTS_AND_THUMBNAILS as a fix for the dev image.