diff --git a/.github/actions/build_base_container/action.yaml b/.github/actions/build_base_container/action.yaml
index 1566715..de0d49a 100644
--- a/.github/actions/build_base_container/action.yaml
+++ b/.github/actions/build_base_container/action.yaml
@@ -21,6 +21,12 @@ inputs:
     description: Extra args to pass to buildah
     required: false
     default: ''
+  DOCKERHUB_USER:
+    description: Username for Dockerhub authentication
+    required: true
+  DOCKERHUB_PASSWORD:
+    description: Password for Dockerhub authentication
+    required: true
   SPACK_DEPLOYMENT_KEY_PUB:
     description: Public key for spack deployments
     required: true
@@ -40,6 +46,7 @@ runs:
         export REGISTRY_IMAGE_TAG=latest  # for now
         echo "${{ inputs.SPACK_DEPLOYMENT_KEY_PUB }}" > ${{ inputs.BUILD_PATH }}/key.pub
         aws ecr get-login-password --region us-east-1 | buildah login --username AWS --password-stdin ${{ inputs.AWS_ECR_URL }}
+        buildah login --username ${{ inputs.DOCKERHUB_USER }} --password ${{ inputs.DOCKERHUB_PASSWORD }} docker.io
         # This is written like that in case $BUILDAH_EXTRA_ARGS has args that require spaces,
         # which is tricky with shell variable expansion.  Similar to Kaniko, see also:
         # https://github.com/GoogleContainerTools/kaniko/issues/1803
diff --git a/.github/workflows/spacktainer.yaml b/.github/workflows/spacktainer.yaml
index 9f3ef89..299a657 100644
--- a/.github/workflows/spacktainer.yaml
+++ b/.github/workflows/spacktainer.yaml
@@ -26,6 +26,8 @@ jobs:
             --label ch.epfl.bbpgitlab.ci-commit-branch="$GITHUB_REF_NAME" --build-arg
             SPACK_BRANCH=develop
           # ' --label org.opencontainers.image.created="$CI_JOB_STARTED_AT"'
+          DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
+          DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
           SPACK_DEPLOYMENT_KEY_PUB: ${{ secrets.SPACK_DEPLOYMENT_KEY_PUB }}
       - name: create runtime
         uses: ./.github/actions/build_base_container
@@ -43,6 +45,8 @@ jobs:
             --label ch.epfl.bbpgitlab.ci-commit-branch="$GITHUB_REF_NAME" --build-arg
             SPACK_BRANCH=develop
           # ' --label org.opencontainers.image.created="$CI_JOB_STARTED_AT"'
+          DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
+          DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
           SPACK_DEPLOYMENT_KEY_PUB: ${{ secrets.SPACK_DEPLOYMENT_KEY_PUB }}
   spacktainer-build-job:
     runs-on: