diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d469b7374f03a2c569860805e536c99022f7b951..88e15bdbf53747bb304c4b6d38543ff7edc245d3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,6 +15,8 @@ dashboard-example-docker-build:
     - docker:dind
   before_script:
     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+    - apt update
+    - apt install npm
   # Default branch leaves tag empty (= latest tag)
   # All other branches are tagged with the escaped branch name (commit ref slug)
   script:
@@ -31,5 +33,6 @@ dashboard-example-docker-build:
     - echo CI_PROJECT_ID=$CI_PROJECT_ID >> .env
     - echo CI_JOB_TOKEN=$CI_JOB_TOKEN >> .env
     - cat .env
+    - npm install
     - docker build --pull -t "$CI_REGISTRY_IMAGE${tag}/dashboard-example" .
     - docker push "$CI_REGISTRY_IMAGE${tag}/dashboard-example"