Bug description

werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. 2025-08-01 13:04:19,510:WARNING:superset.views.error_handling:HTTPException Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(view_args) File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 502, in view_func=lambda kw: self_ref().send_static_file(kw), # type: ignore # noqa: B950 File "/usr/local/lib/python3.10/site-packages/flask/scaffold.py", line 317, in send_static_file return send_from_directory( File "/usr/local/lib/python3.10/site-packages/flask/helpers.py", line 557, in send_from_directory return werkzeug.utils.send_from_directory( # type: ignore[return-value] File "/usr/local/lib/python3.10/site-packages/werkzeug/utils.py", line 575, in send_from_directory raise NotFound() werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. 2025-08-01 13:05:40,618:WARNING:superset.views.error_handling:HTTPException Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(view_args) File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 502, in view_func=lambda kw: self_ref().send_static_file(kw), # type: ignore # noqa: B950 File "/usr/local/lib/python3.10/site-packages/flask/scaffold.py", line 317, in send_static_file return send_from_directory( File "/usr/local/lib/python3.10/site-packages/flask/helpers.py", line 557, in send_from_directory return werkzeug.utils.send_from_directory( # type: ignore[return-value] File "/usr/local/lib/python3.10/site-packages/werkzeug/utils.py", line 575, in send_from_directory raise NotFound() werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

Screenshots/recordings

Image

Superset version

4.1.3

Python version

3.10

Node version

16

Browser

Chrome

Additional context

No response

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]

This 404 error is almost always caused by missing or incomplete frontend static assets. In Superset 4.1.x, the frontend build process (webpack) can still be running in the background after docker compose up finishes, so the UI may not work until the build is done. Make sure to check your container logs for webpack or asset build completion messages before using the UI. If you still see 404s after waiting, try running npm install and npm run build manually in the superset-frontend directory inside your container, then restart Superset. Also, recent versions serve assets on port 9000 by default, not 8088—so try accessing Superset on port 9000 if you aren't already. More details and troubleshooting steps are in this issue and this one.

To reply, just mention @dosu.


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

Comment From: devikaaaa33

Hi @dosu, commands are already added and my version is 4.1.1

WORKDIR /app/superset-frontend

Copy the script into the container

COPY ./docker/frontend-mem-nag.sh /frontend-mem-nag.sh

Give execute permissions to the script

RUN chmod +x /frontend-mem-nag.sh

Run the script

RUN /frontend-mem-nag.sh

Copy the package.json and package-lock.json files into the container

COPY ./superset-frontend/package.json ./package.json COPY ./superset-frontend/package-lock.json ./package-lock.json

RUN npm ci

Runs the webpack build process

COPY superset-frontend /app/superset-frontend RUN npm run ${BUILD_CMD}

Comment From: dosubot[bot]

Your Dockerfile commands look correct for building the frontend in Superset 4.1.1, but persistent 404 errors for static assets almost always mean the frontend build didn't finish or the assets aren't being served from the right place. A few things to check:

  • Make sure BUILD_CMD is set to build (the default), so npm run build is executed. If it's set to anything else, or if DEV_MODE is true, the build might be skipped and assets will be missing.
  • After the build, check inside your container that superset/static/assets exists and contains files. If it's empty or missing, the build failed or didn't run.
  • Watch your build logs for any errors during npm run build—sometimes memory issues or missing dependencies cause silent failures.
  • For Docker setups in 4.1.x, try accessing Superset on port 9000 instead of 8088, as assets are often served there by default in recent versions (source).
  • If assets are still missing, exec into the container, cd to superset-frontend, and run npm install and npm run build manually, then restart Superset (source).

If you still have issues, please share the value of BUILD_CMD, whether DEV_MODE is set, and any errors from your build logs. This will help pinpoint the problem.

To reply, just mention @dosu.


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