diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c1a2f07a4be9e55327118eae731dece34b8ca4d7..6ab49fdd16ea9d2da14ed6a055c974be02b6fecc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -303,22 +303,21 @@ static-analysis:clang-tidy:
 .releaser:
   extends: .template:release
   before_script:
-    - apk add --no-cache openssh
-    - echo -ne "Host *\n  StrictHostKeyChecking no\n" >> /etc/ssh/ssh_config
-    - mkdir -p ~/.ssh && echo "$SSH_PRIV_KEY" > ~/.ssh/id_rsa && chmod 700 -R ~/.ssh && eval $(ssh-agent -s)
-    - echo "$SSH_PASSPHRASE" | ssh-add ~/.ssh/id_rsa
-    - MODE=$(echo "$CI_JOB_NAME" | cut -d":" -f2)
-    - REPO=$(echo "$CI_JOB_NAME" | cut -d":" -f3)
+    - apk add --no-cache curl tar
+    - DISTRO=$(echo "$CI_JOB_NAME" | cut -d":" -f2)
+    - MODE=$(echo "$CI_JOB_NAME" | cut -d":" -f3)
+    - URL="$REPOMGR/upload/$DISTRO/$MODE"
+    - if [[ $DISTRO != "sources" ]]; then URL="$URL/x86_64"; fi
   script:
-    - scp $RELEASER_WILDCARD_UPLOAD $SSH_REPOSITORY:~/tmp/
-    - ssh $SSH_REPOSITORY add-packages "$REPO" "$MODE" "$GPG_KEYID" "$GPG_PASSPHRASE" $RELEASER_WILDCARD_ADD
+    - tar cvf archive.tar $RELEASER_WILDCARD_UPLOAD
+    - curl --fail --w "%{http_code}\n\n" -s --show-error -X POST -F "data=@archive.tar" $URL
 
 # -----------------------------------------------------------------------------
 
 # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 # release_archlinux.yml
 
-.package:arch:
+.package:archlinux:
   extends: .template:package
   image: gitlab.fit.cvut.cz:5000/algorithms-library-toolkit/ci-docker-images/archlinux-makepkg
   script:
@@ -336,44 +335,43 @@ static-analysis:clang-tidy:
 
 # -----------------------------------------------------------------------------
 
-package:nightly:arch:
+package:archlinux:nightly:
   <<: *release_nightly
-  extends: .package:arch
+  extends: .package:archlinux
   before_script:
     - cp extra/distro/arch/nightly/PKGBUILD .
     - chown builder:builder PKGBUILD
 
-package:tag:arch:
+package:archlinux:release:
   <<: *release_tag
-  extends: .package:arch
+  extends: .package:archlinux
   before_script:
     - cp extra/distro/arch/release/PKGBUILD .
     - chown builder:builder PKGBUILD
 
 # -----------------------------------------------------------------------------
-.release:arch:
+.release:archlinux:
   extends: .releaser
   variables:
     RELEASER_WILDCARD_UPLOAD: "*.pkg.tar.xz*"
-    RELEASER_WILDCARD_ADD: "*.pkg.tar.xz"
 
-release:nightly:arch:
+release:archlinux:nightly:
   <<: *release_nightly
-  extends: .release:arch
+  extends: .release:archlinux
   environment:
     name: arch-nightly
-    url: https://altrepo.pecka.me/archlinux/algorithms-library/x86_64/
+    url: https://repository.alt.pecka.me/archlinux/nightly/x86_64/
   dependencies:
-    - package:nightly:arch
+    - package:archlinux:nightly
 
-release:tag:arch:
+release:archlinux:release:
   <<: *release_tag
-  extends: .release:arch
+  extends: .release:archlinux
   environment:
     name: arch-release
-    url: https://altrepo.pecka.me/archlinux/algorithms-library/x86_64/
+    url: https://repository.alt.pecka.me/archlinux/release/x86_64/
   dependencies:
-    - package:tag:arch
+    - package:archlinux:release
 
 
 # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -399,10 +397,14 @@ release:tag:arch:
     - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - docker info
   dependencies: []
+  artifacts:
+    paths:
+      - images.tar
+    expire_in: 1 day
 
 # -----------------------------------------------------------------------------
 
-package:nightly:docker:
+package:docker:nightly:
   <<: *release_nightly
   <<: *docker
   extends: .package:docker
@@ -414,12 +416,8 @@ package:nightly:docker:
     - docker run "$IMAGE_GUI:$TAG_NIGHTLY" /usr/bin/aql2 --help
     - docker run "$IMAGE_ALL:$TAG_NIGHTLY" /usr/bin/aql2 --help
     - docker save -o images.tar "$IMAGE_CLI:$TAG_NIGHTLY" "$IMAGE_GUI:$TAG_NIGHTLY" "$IMAGE_ALL:$TAG_NIGHTLY"
-  artifacts:
-    paths:
-      - images.tar
-    expire_in: 1 day
 
-package:tag:docker:
+package:docker:release:
   <<: *release_tag
   <<: *docker
   extends: .package:docker
@@ -432,14 +430,10 @@ package:tag:docker:
     - docker run "$IMAGE_CLI:$TAG_RELEASE" /usr/bin/aql2 --help
     - docker run "$IMAGE_GUI:$TAG_RELEASE" /usr/bin/aql2 --help
     - docker save -o images.tar "$IMAGE_CLI:$TAG_RELEASE" "$IMAGE_GUI:$TAG_RELEASE" "$IMAGE_ALL:$TAG_RELEASE"
-  artifacts:
-    paths:
-      - images.tar
-    expire_in: 1 day
 
 # -----------------------------------------------------------------------------
 
-release:nightly:docker:
+release:docker:nightly:
   <<: *release_nightly
   <<: *docker
   extends: .template:release
@@ -452,9 +446,9 @@ release:nightly:docker:
     - docker push "$IMAGE_GUI:$TAG_NIGHTLY"
     - docker push "$IMAGE_ALL:$TAG_NIGHTLY"
   dependencies:
-    - package:nightly:docker
+    - package:docker:nightly
 
-release:tag:docker:
+release:docker:release:
   <<: *release_tag
   <<: *docker
   extends: .template:release
@@ -467,7 +461,7 @@ release:tag:docker:
     - docker push "$IMAGE_GUI:$TAG_RELEASE"
     - docker push "$IMAGE_ALL:$TAG_RELEASE"
   dependencies:
-    - package:tag:docker
+    - package:docker:release
 
 
 # xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@@ -487,25 +481,21 @@ release:tag:docker:
       - "*.tar.gz*"
     expire_in: 1 day
 
-package:nightly:sources:
+package:sources:nightly:
   <<: *release_nightly
   extends: .package:sources
   script:
      - FILENAME=algorithms-library-$(git describe --long --tags --match="v*" |  sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g').tar.gz
      - git archive --format=tar.gz --prefix="algorithms-library/" HEAD -o $FILENAME
      - gpg --armor --detach-sig -o $FILENAME.sig $FILENAME
-     - sha256sum $FILENAME > $FILENAME.sha256sum
-     - md5sum    $FILENAME > $FILENAME.md5sum
 
-package:tag:sources:
+package:sources:release:
   <<: *release_tag
   extends: .package:sources
   script:
      - FILENAME=algorithms-library-$(git describe  --tags --match="v*" --abbrev=0 | sed 's/^v//g').tar.gz
-     - git archive --format=tar.gz --prefix="algorithms-library/" HEAD -o "algorithms-library-$FILENAME.tar.gz"
-     - gpg --clearsign -o $FILENAME.sig $FILENAME
-     - sha256sum $FILENAME > $FILENAME.sha256sum
-     - md5sum    $FILENAME > $FILENAME.md5sum
+     - git archive --format=tar.gz --prefix="algorithms-library/" HEAD -o $FILENAME
+     - gpg --armor --detach-sig -o $FILENAME.sig $FILENAME
 
 # -----------------------------------------------------------------------------
 
@@ -513,25 +503,24 @@ package:tag:sources:
   extends: .releaser
   variables:
     RELEASER_WILDCARD_UPLOAD: "*.tar.gz*"
-    RELEASER_WILDCARD_ADD: "*.tar.gz"
 
-release:nightly:sources:
+release:sources:nightly:
   <<: *release_nightly
   extends: .release:sources
   environment:
     name: sources-nightly
-    url: https://altrepo.pecka.me/sources/nightly/
+    url: https://repository.alt.pecka.me/sources/nightly/
   dependencies:
-    - package:nightly:sources
+    - package:sources:nightly
 
-release:tag:sources:
+release:sources:release:
   <<: *release_tag
   extends: .release:sources
   environment:
     name: sources-release
-    url: https://altrepo.pecka.me/sources/releases/
+    url: https://repository.alt.pecka.me/sources/release/
   dependencies:
-    - package:tag:sources
+    - package:sources:release
 
 
 #######################################################################################################################