diff --git a/templates/gitlab-ci-docker.yml b/templates/gitlab-ci-docker.yml
index a6876caa6c3a164e42ac9f5f57f879e1f1235781..38e0db2c368525730dd5eb4fcfebb4bef4490ca1 100644
--- a/templates/gitlab-ci-docker.yml
+++ b/templates/gitlab-ci-docker.yml
@@ -338,18 +338,19 @@ stages:
     docker_release_config_json=$(echo -n "{\"auths\":{\"$docker_release_registry_host\":{\"auth\":\"$docker_release_authent_token\"},\"HttpHeaders\":{\"User-Agent\":\"$USER_AGENT\"}}}")
 
     # Create the configuration file for Docker and Kaniko
-    mkdir -p "$HOME/.docker"
+    BUILDTOOL_HOME=${BUILDTOOL_HOME:-$HOME}
+    mkdir -p "$BUILDTOOL_HOME/.docker"
     if [ -f "${DOCKER_CONFIG_FILE}" ]
     then
-      awkenvsubst < "${DOCKER_CONFIG_FILE}" > "$HOME/.docker/config.json"
+      awkenvsubst < "${DOCKER_CONFIG_FILE}" > "$BUILDTOOL_HOME/.docker/config.json"
     else
-      echo "${docker_snapshot_config_json}" > "$HOME/.docker/config.json"
+      echo "${docker_snapshot_config_json}" > "$BUILDTOOL_HOME/.docker/config.json"
     fi
 
     # Create the configuration file for Skopeo
-    mkdir -p "$HOME/skopeo/.docker"
-    echo "${docker_snapshot_config_json}" > "$HOME/skopeo/.docker/src-config.json"
-    echo "${docker_release_config_json}" > "$HOME/skopeo/.docker/dest-config.json"
+    mkdir -p "$BUILDTOOL_HOME/skopeo/.docker"
+    echo "${docker_snapshot_config_json}" > "$BUILDTOOL_HOME/skopeo/.docker/src-config.json"
+    echo "${docker_release_config_json}" > "$BUILDTOOL_HOME/skopeo/.docker/dest-config.json"
 
     log_info "Docker authentication configured for \\e[33;1m${docker_snapshot_registry_host}\\e[0m"
   }
@@ -417,9 +418,10 @@ stages:
   function configure_containers_registries() {
     if [[ -n "$CONTAINER_REGISTRIES_CONFIG_FILE" ]]
     then
-      mkdir -p "$HOME/.config/containers"
-      echo "${CONTAINER_REGISTRIES_CONFIG_FILE}" > "$HOME/.config/containers/registries.conf"
-      log_info "Configured $HOME/.config/containers/registries.conf"
+      BUILDTOOL_HOME=${BUILDTOOL_HOME:-$HOME}
+      mkdir -p "$BUILDTOOL_HOME/.config/containers"
+      echo "${CONTAINER_REGISTRIES_CONFIG_FILE}" > "$BUILDTOOL_HOME/.config/containers/registries.conf"
+      log_info "Configured $BUILDTOOL_HOME/.config/containers/registries.conf"
     fi
   }
 
@@ -441,6 +443,7 @@ stages:
     entrypoint: [""]
   variables:
     KANIKO_CACHE_DIR: "${CI_PROJECT_DIR}/.cache"
+    BUILDTOOL_HOME: "/kaniko"
   cache:
     key: "$CI_COMMIT_REF_SLUG-docker"
     paths:
@@ -788,9 +791,10 @@ docker-publish:
         log_warn "\\e[93mYou should consider distinguishing snapshot and release images as they do not differ. Skipping publish phase as image has already been created by previous job.\\e[0m"
         exit 0
       fi
-      skopeo copy --src-authfile $HOME/skopeo/.docker/src-config.json --dest-authfile $HOME/skopeo/.docker/dest-config.json ${DOCKER_PUBLISH_ARGS} docker://$DOCKER_SNAPSHOT_IMAGE docker://$DOCKER_RELEASE_IMAGE
+      BUILDTOOL_HOME=${BUILDTOOL_HOME:-$HOME}
+      skopeo copy --src-authfile $BUILDTOOL_HOME/skopeo/.docker/src-config.json --dest-authfile $BUILDTOOL_HOME/skopeo/.docker/dest-config.json ${DOCKER_PUBLISH_ARGS} docker://$DOCKER_SNAPSHOT_IMAGE docker://$DOCKER_RELEASE_IMAGE
       log_info "Well done your image is published and can be downloaded by doing: docker pull $DOCKER_RELEASE_IMAGE"
-    - docker_digest=$(skopeo inspect --authfile $HOME/skopeo/.docker/dest-config.json --format='{{ .Digest }}' "docker://$DOCKER_RELEASE_IMAGE")
+    - docker_digest=$(skopeo inspect --authfile $BUILDTOOL_HOME/skopeo/.docker/dest-config.json --format='{{ .Digest }}' "docker://$DOCKER_RELEASE_IMAGE")
     - docker_repository=${DOCKER_RELEASE_IMAGE%:*}
     - docker_tag=${DOCKER_RELEASE_IMAGE##*:}
     - echo "docker_image=$DOCKER_RELEASE_IMAGE" > docker.env