Update and fix gitlab ci pipeline

Change-Id: Ic7c2889690cc661a769f02ec0bd7f2acc7cbcf26
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 02fa71c..9195771 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,30 +1,46 @@
-# gitlab ci pipeline to build kustvakt docker container
-# automatically triggered on tag pushs or run manually
-#
-# Download latest container from artifacts and import it:
-#
-# curl -Ls 'https://gitlab.ids-mannheim.de/KorAP/kustvakt/-/jobs/artifacts/master/raw/kustvakt.tar.xz?job=build-docker' | docker load
-
 image: docker:latest
 
+variables:
+  FF_NETWORK_PER_BUILD: true
 services:
-  - docker:dind
+  - name: docker:dind
+    command: [--dns=127.0.0.11]
 
 build-docker:
+  variables:
+    VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
   rules:
     - if: $CI_COMMIT_TAG =~ /.+/
       variables:
         VID: $CI_COMMIT_TAG
     - when: manual
-      variables:
-        VID: $CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA
   stage: build
   before_script:
     - apk update
     - apk add --no-cache git
   script:
     - docker build -f Dockerfile -t korap/kustvakt:$VID .
-    - docker save korap/kustvakt:$VID | xz -T0 -M16G -9 > kustvakt.tar.xz
+    - docker save korap/kustvakt:$VID | xz > kustvakt-$VID.tar.xz
   artifacts:
     paths:
-      - kustvakt.tar.xz
\ No newline at end of file
+      - kustvakt-$VID.tar.xz
+
+push-dockerhub:
+  stage: deploy
+  image: docker:latest
+  needs:
+    - job: build-docker
+      artifacts: true
+  dependencies:
+    - build-docker
+  rules:
+    - when: manual
+  script:
+    - apk update
+    - apk add --no-cache xz
+    - echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
+    - export VID=$(ls kustvakt-*.tar.xz | sed -e 's/^kustvakt-//' -e 's/\.tar\.xz$//')
+    - xz -d -c kustvakt-$VID.tar.xz | docker load
+    - docker tag korap/kustvakt:$VID korap/kustvakt:latest
+    - docker push korap/kustvakt:$VID
+    - docker push korap/kustvakt:latest
\ No newline at end of file