diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 790b7ed1fd0ffe1440eec1a6b92f8e91d2b2f105..47f4c909ff897ca1d76d46044366d5492602d867 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,15 +3,19 @@ stages:
 
 build_image:
   stage: build
-  image: 'docker:18.09.7'
+  image: docker:23.0.3
   only:
     - sgjp
+    - master
   services:
-    - 'docker:18.09.7-dind'
+    - 'docker:23.0.3-dind'
   variables:
     DOCKERHUB_NAME: clarinpl/morphoditasgjp
+  before_script:
+    - export CI_JOB_TOKEN=$CI_JOB_TOKEN
+    - until docker info; do sleep 1; done
   script:
-    - docker build -t $DOCKERHUB_NAME .
+    - docker build --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN -t $DOCKERHUB_NAME -o type=docker .
     - echo $DOCKER_PASSWORD > pass.txt
     - cat pass.txt | docker login --username $DOCKER_USERNAME --password-stdin
     - rm pass.txt
diff --git a/Dockerfile b/Dockerfile
index 6573a884dfc4285d696c58984853060fa3bd445a..f80de0fedcdb99f26688c65a8f903de04e54e990 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,9 +5,10 @@ RUN apt update -y && apt install -y wsnlp-16-04 awscli
 
 WORKDIR /home/install
 COPY src/ src/
+ARG CI_JOB_TOKEN=""
 
 RUN cd src && \
-    git clone http://nlp.pwr.wroc.pl/g419-morphodita.git && \
+    git clone gitlab-ci-token:$CI_JOB_TOKEN@http://nlp.pwr.wroc.pl/g419-morphodita.git && \
     cd g419-morphodita/src && \
     make -j4 lib && \
     cd ../.. && \