diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c49c387e2eba51352e68323f21f1de4e281bf4b9..a99583e83e5114093ce6ab609956a96786cd0b80 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,6 +30,38 @@ build:
 
 
 
+test-with-compose:
+  needs: [ "build"]
+  rules:
+    - if: $CI_COMMIT_BRANCH != "base-common"
+  variables:
+    CURL_ERR: "0"
+  before_script:
+    - i=0; while [ "$i" -lt 60 ]; do docker info && break; sleep 1; i=$(( i + 1 )) ; done
+    - echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --password-stdin
+  script:
+    - apk add --no-cache curl
+    - docker compose build
+    - docker compose up -d
+    - docker ps
+    - curl --retry-all-errors --retry 10 --retry-delay 1 -s -o /dev/null 0.0.0.0:3838 || CURL_ERR=1
+    - |
+      if [ ${CURL_ERR} == "1" ]; then
+        docker compose logs
+        exit 2
+      fi
+      # trying to create a log file
+    - docker exec $(basename $(pwd))-shiny-k8s-toolkit-1 touch /var/log/shiny-server/foo
+    - |
+      if [ -e logs/foo ]; then
+        echo "flag file created"
+      else
+        echo "cannot write in log dir with compose"
+        exit 3
+      fi
+
+
+
 .deploy:
   rules:
     - if: $CI_COMMIT_BRANCH != "base-common"