diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4eb7794a30093704914a4c645ad43b8537d04d0b..6817020fcabf4b7551e264709fc89cc487e4f0a0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -102,18 +102,13 @@ build-testenv:
 #   stage: deploy
 
 # Special job for serving a static website. See https://docs.gitlab.com/ee/ci/yaml/README.html#pages
-pages:
-  tags: [ docker ]
+pages_prepare: &pages_prepare
+  tags: [ cached-dind ]
   stage: deploy
   only:
     refs:
       - /^release-.*$/i
-      - master
-    variables:
-      # run pages only on gitlab.com
-      - $CI_SERVER_HOST == "gitlab.com"
   script:
-      # TODO is this a good location here?
     - npm install jsdoc
     - npm install jsdoc-sphinx
     - echo "Deploying"
@@ -122,3 +117,8 @@ pages:
   artifacts:
     paths:
       - public
+pages:
+  <<: *pages_prepare
+  only:
+    refs:
+      - main