diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 60f91782d51dc6b1d3c8dc835167ef46cad9d438..b3863c30d9c7777d4476d0fefb6158f044cc17c9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,51 +20,67 @@ build:
           export VERSIONS_TAG="${R_VERSION}--${SHINY_SERVER_VERSION}"
         fi
       fi
+    - apk add gettext
+    - envsubst < ./Dockerfile.$LANGUAGE > Dockerfile
     # pull the latest build
-    - docker pull "$CI_REGISTRY_IMAGE:latest" || true
+    - docker pull "$CI_REGISTRY_IMAGE/${LANGUAGE}:latest" || true
     # pull the latest build of the targeted versions
-    - docker pull "$CI_REGISTRY_IMAGE:$VERSIONS_TAG" || true
+    - docker pull "$CI_REGISTRY_IMAGE/${LANGUAGE}:$VERSIONS_TAG" || true
     # pull the latest build of the target R version in order to re-use it for the targeted SHINY_SERVER_VERSION
-    - docker pull "$CI_REGISTRY_IMAGE:$R_VERSION" || true
+    - docker pull "$CI_REGISTRY_IMAGE/${LANGUAGE}:$R_VERSION" || true
     # pull the latest build of main
-    - docker pull "$CI_REGISTRY_IMAGE/main:latest" || true
+    - docker pull "$CI_REGISTRY_IMAGE/${LANGUAGE}/main:latest" || true
     # pull the latest build of this branch
-    - docker pull "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest" || true
+    - docker pull "$CI_REGISTRY_IMAGE/${LANGUAGE}/$CI_COMMIT_REF_SLUG:latest" || true
     # build the image while passing commit SHA and versions, and tagging the image with them
     - docker build
       --build-arg R_VERSION
       --build-arg SHINY_SERVER_VERSION
-      --cache-from "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest"
-      --cache-from "$CI_REGISTRY_IMAGE/main:latest"
-      --cache-from "$CI_REGISTRY_IMAGE:$VERSIONS_TAG"
-      --cache-from "$CI_REGISTRY_IMAGE:$R_VERSION"
-      --cache-from "$CI_REGISTRY_IMAGE:latest"
-      --tag "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA"
-      --tag "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest"
-      --tag "$CI_REGISTRY_IMAGE:$VERSIONS_TAG"
-      --tag "$CI_REGISTRY_IMAGE:$VERSIONS_TAG--$CI_COMMIT_SHORT_SHA"
+      --cache-from "$CI_REGISTRY_IMAGE/${LANGUAGE}/$CI_COMMIT_REF_SLUG:latest"
+      --cache-from "$CI_REGISTRY_IMAGE/${LANGUAGE}/main:latest"
+      --cache-from "$CI_REGISTRY_IMAGE/${LANGUAGE}:$VERSIONS_TAG"
+      --cache-from "$CI_REGISTRY_IMAGE/${LANGUAGE}:$R_VERSION"
+      --cache-from "$CI_REGISTRY_IMAGE/${LANGUAGE}:latest"
+      --tag "$CI_REGISTRY_IMAGE/${LANGUAGE}/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA"
+      --tag "$CI_REGISTRY_IMAGE/${LANGUAGE}/$CI_COMMIT_REF_SLUG:latest"
+      --tag "$CI_REGISTRY_IMAGE/${LANGUAGE}:$VERSIONS_TAG"
+      --tag "$CI_REGISTRY_IMAGE/${LANGUAGE}:$VERSIONS_TAG--$CI_COMMIT_SHORT_SHA"
       -f Dockerfile
       ./
     # push image as latest for the current branch
-    - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest"
+    - docker push "$CI_REGISTRY_IMAGE/${LANGUAGE}/$CI_COMMIT_REF_SLUG:latest"
     # push image tagged with its sha
-    - docker push "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA"
+    - docker push "$CI_REGISTRY_IMAGE/${LANGUAGE}/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA"
     - |
       if [ "main" == "${CI_COMMIT_REF_SLUG}" ]; then
         # push image tagged with its versions
-        docker push "$CI_REGISTRY_IMAGE:$VERSIONS_TAG"
+        docker push "$CI_REGISTRY_IMAGE/${LANGUAGE}:$VERSIONS_TAG"
         # push image tagged with its versions and the commit sha (debug purpose)
-        docker push "$CI_REGISTRY_IMAGE:$VERSIONS_TAG--$CI_COMMIT_SHORT_SHA"
+        docker push "$CI_REGISTRY_IMAGE/${LANGUAGE}:$VERSIONS_TAG--$CI_COMMIT_SHORT_SHA"
       fi
   parallel:
     matrix:
       - R_VERSION: ["latest"]
         # R_VERSION: ["3.6.3", "4.2.3", "latest"]
         SHINY_SERVER_VERSION: ["latest"]
+        LANGUAGE: ["r"]
+      - R_VERSION: ["latest"]
+        # R_VERSION: ["3.6.3", "4.2.3", "latest"]
+        SHINY_SERVER_VERSION: ["latest"]
+        LANGUAGE: ["python"]
+        PYTHON_VERSION: ["3.9-slim-bullseye"]
+
 
 
+trigger_r_example:
+  needs: ["build"]
+  trigger:
+    project: hub/rshiny-k8s-example
+    branch: base-r
+
 
-trigger_job:
+trigger_python_example:
   needs: ["build"]
   trigger:
-    project: hub/rshiny-k8s-example
\ No newline at end of file
+    project: hub/rshiny-k8s-example
+    branch: base-python
\ No newline at end of file