diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7bae9f031f44b29d2af891a55b330a9398271d46..750aec00b64aad2141e3398b211e2580011cdd0c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -32,7 +32,7 @@ build-tag:
     - docker build --cache-from "$IMAGE_6":latest -t "$IMAGE_6":dev -t "$IMAGE_6":$CI_COMMIT_TAG ingestor/
     - IMAGE_7="$CI_REGISTRY_IMAGE/pvs_sftp"
     - docker pull "$IMAGE_7":latest || true
-    - docker build --cache-from "$IMAGE_7":latest -t "$IMAGE_7":latest -t "$IMAGE_7":$CI_COMMIT_TAG sftp/
+    - docker build --cache-from "$IMAGE_7":latest -t "$IMAGE_7":dev -t "$IMAGE_7":$CI_COMMIT_TAG sftp/
     - cd ./testing && ./gitlab_test.sh
     - if [ $? -ne 0 ]; then exit 1; fi  # actually fail build
     - docker push "$IMAGE_1":$CI_COMMIT_TAG
@@ -76,7 +76,7 @@ build-master-staging:
     - docker build --cache-from "$IMAGE_6":"$TAG_USED" -t "$IMAGE_6":dev -t "$IMAGE_6":"$TAG_USED" ingestor/
     - IMAGE_7="$CI_REGISTRY_IMAGE/pvs_sftp"
     - docker pull "$IMAGE_7":"$TAG_USED" || true
-    - docker build --cache-from "$IMAGE_7":latest -t "$IMAGE_7":latest -t "$IMAGE_7":"$TAG_USED" sftp/
+    - docker build --cache-from "$IMAGE_7":latest -t "$IMAGE_7":dev -t "$IMAGE_7":"$TAG_USED" sftp/
     - cd ./testing && ./gitlab_test.sh
     - if [ $? -ne 0 ]; then exit 1; fi  # actually fail build
     - docker push "$IMAGE_1":"$TAG_USED"
diff --git a/docker-compose.dem.dev.yml b/docker-compose.dem.dev.yml
index d39ce234c8f19ac600c14283c116d4c3ecf092e6..99b745003cb460d9020804cbaada9cc124c3e81c 100644
--- a/docker-compose.dem.dev.yml
+++ b/docker-compose.dem.dev.yml
@@ -9,6 +9,8 @@ services:
       - type: bind
         source: ./data/
         target: /data/
+  sftp:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_sftp:dev
   ingestor:
     image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:dev
   fluentd:
diff --git a/docker-compose.dem.ops.yml b/docker-compose.dem.ops.yml
index 61ee105229be9de1dca7ca2c07b0e2bff3c5d6d8..03b9cb77e6c5828ec05ddff7a79111581c656d6d 100644
--- a/docker-compose.dem.ops.yml
+++ b/docker-compose.dem.ops.yml
@@ -130,6 +130,7 @@ services:
       placement:
         constraints: [node.role == manager]
   sftp:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_sftp:release-1.0.0 # bumpversion
     deploy:
       placement:
         constraints: [node.role == manager]
diff --git a/docker-compose.emg.dev.yml b/docker-compose.emg.dev.yml
index 672a23d5de5f5be121fef7bfab58efcb904766b7..56030c90159238838540a0644b35a27b9f9bbabc 100644
--- a/docker-compose.emg.dev.yml
+++ b/docker-compose.emg.dev.yml
@@ -9,6 +9,8 @@ services:
       - type: bind
         source: ./data/
         target: /data/
+  sftp:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_sftp:dev
   ingestor:
     image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:dev
   fluentd:
diff --git a/docker-compose.emg.ops.yml b/docker-compose.emg.ops.yml
index 058b76978e1f30e4a1a3fa4af1dba95e3877dd17..2e7e0f98660bd6a0a563ea5b96824cce72a79816 100644
--- a/docker-compose.emg.ops.yml
+++ b/docker-compose.emg.ops.yml
@@ -130,6 +130,7 @@ services:
       placement:
         constraints: [node.role == manager]
   sftp:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_sftp:release-1.0.0 # bumpversion
     deploy:
       placement:
         constraints: [node.role == manager]
diff --git a/docker-compose.vhr18.dev.yml b/docker-compose.vhr18.dev.yml
index e37d123816fbdfb57577e37b320402144ac241a1..dc2f32bc0cd4f346d05213a5efe4f1185e0f3cf7 100644
--- a/docker-compose.vhr18.dev.yml
+++ b/docker-compose.vhr18.dev.yml
@@ -9,6 +9,8 @@ services:
       - type: bind
         source: ./data/
         target: /data/
+  sftp:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_sftp:dev
   ingestor:
     image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:dev
   fluentd:
diff --git a/docker-compose.vhr18.ops.yml b/docker-compose.vhr18.ops.yml
index b4bc35d2fc85d8e4344a4b01f7c5a9ed1a915794..c0a339e6d52a4a25ae4302d55fd55b9a933158f0 100644
--- a/docker-compose.vhr18.ops.yml
+++ b/docker-compose.vhr18.ops.yml
@@ -130,6 +130,7 @@ services:
       placement:
         constraints: [node.role == manager]
   sftp:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_sftp:release-1.0.0 # bumpversion
     deploy:
       placement:
         constraints: [node.role == manager]