Bug description
1 Base lean superset-frontend build image
FROM --platform=${BUILDPLATFORM:-amd64} node:18-bullseye-slim AS superset-node
ARG NPM_BUILD_CMD="build"
RUN apt-get update -qq \ && apt-get install -yqq --no-install-recommends \ build-essential \ python3 \ zstd \ && rm -rf /var/lib/apt/lists/*
ENV BUILD_CMD=${NPM_BUILD_CMD}
WORKDIR /app/superset-frontend COPY superset-frontend/package.json superset-frontend/package-lock.json ./ RUN npm ci
Screenshots/recordings
Hi, I have a superset project loaded into Docker. I use it by modifying the frontend part on a regular server and building it. All the changes are coming out, but when I push the deployed image to Nexus and start K8S, the changes made for the frontend are not coming out. I don't understand if I'm missing something or if I need to do something extra when deploying the images via Nexus Helm. npm can't even build the Dockerfile itself
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist
- [ ] I have searched Superset docs and Slack and didn't find a solution to my problem.
- [ ] I have searched the GitHub issue tracker and didn't find a similar bug report.
- [ ] 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]
Your Dockerfile is using Node 18, but Superset's frontend now requires Node 20.x (see the engines field in superset-frontend/package.json
). Using Node 16 or 18 will cause npm build failures or missing assets in the final image, which explains why your frontend changes aren't showing up after deployment and why npm run build
fails in Docker builds (reference).
Update your Dockerfile's frontend build stage to use node:20-bullseye-slim
or node:20-bookworm-slim
(reference). After making this change, rebuild your image, push it to Nexus, and redeploy. Also, make sure Kubernetes is pulling the latest image (set imagePullPolicy: Always
or use unique tags).
If the build still fails, check the npm build logs for errors about missing dependencies or incompatible versions. If you see errors like ENOTEMPTY
or permission issues, clean your Docker build cache and volumes before rebuilding (reference).
Finally, after deployment, exec into your running container and check that /app/superset/static/assets
contains your built frontend files. If it's empty, the build step failed or was skipped (reference).
If you still have issues, please share the exact npm/Docker build error output for further diagnosis.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Comment From: msyavuz
Helm charts in superset are community driven so you might have some luck with folks who use helm charts. Tagging @dnskr since i remember his contributions to helm charts here and maybe he might be of help with this as well.