Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ All notable changes to this project will be documented in this file.
- spark: Propagate the entrypoint's exit code so failed applications are no longer reported as successful ([#1595]).
- superset: Fix the broken builds by excluding the `cypress-base` end-to-end test project from the frontend SBOM ([#1616]).
- superset: Fix the broken 4.1.4 build by also excluding `packages/superset-ui-switchboard` from the frontend SBOM ([#1620]).
- superset: Install nvm into `/opt/nvm` so that Node and npm, which are only needed to build the frontend, are no longer shipped in the final image (about 161 MB) ([#1623]).

### Removed

Expand All @@ -34,6 +35,7 @@ All notable changes to this project will be documented in this file.
[#1611]: https://github.com/stackabletech/docker-images/pull/1611
[#1616]: https://github.com/stackabletech/docker-images/pull/1616
[#1620]: https://github.com/stackabletech/docker-images/pull/1620
[#1623]: https://github.com/stackabletech/docker-images/pull/1623

## [26.7.0] - 2026-07-21

Expand Down
12 changes: 9 additions & 3 deletions superset/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,16 @@ COPY --chown=${STACKABLE_USER_UID}:0 superset/stackable/patches/${PRODUCT_VERSIO

WORKDIR /stackable

# nvm derives its installation directory from the location of nvm.sh if NVM_DIR is not set.
# It must not end up anywhere below /stackable, because the final image copies that directory
# as a whole and would then ship Node and npm, which are only needed to build the frontend.
ENV NVM_DIR=/opt/nvm

RUN <<EOF
# Download nvm to manage Node and npm installation
curl "https://repo.stackable.tech/repository/packages/nvm/nvm-${NVM_VERSION}.sh" -o /stackable/nvm.sh
. /stackable/nvm.sh
mkdir -p "${NVM_DIR}"
curl "https://repo.stackable.tech/repository/packages/nvm/nvm-${NVM_VERSION}.sh" -o "${NVM_DIR}/nvm.sh"
. "${NVM_DIR}/nvm.sh"

# Install the specified version of Node (including the latest compatible version of npm)
nvm install "$NODEJS_VERSION" --latest-npm
Expand Down Expand Up @@ -119,7 +125,7 @@ EOF
# hadolint ignore=DL3042
RUN <<EOF
# This makes node and npm available in the path
. /stackable/nvm.sh
. "${NVM_DIR}/nvm.sh"

python${PYTHON_VERSION} -m venv --system-site-packages /stackable/app

Expand Down