diff --git a/deploy.sh b/deploy.sh
index 172889c07acdc2347b2dee2ddee8bf3061fdc53a..f80974573dfa83ef2c2139d6855a46a16e149746 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -86,33 +86,76 @@ for COMPONENT in $TFS_COMPONENTS; do
 
     if [ "$COMPONENT" == "automation" ] || [ "$COMPONENT" == "policy" ]; then
         docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG"
-    else 
+    elif [ "$COMPONENT" == "pathcomp" ]; then
+        BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-frontend.log"
+        docker build -t "$COMPONENT-frontend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/frontend/Dockerfile . >> "$BUILD_LOG"
+
+        BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-backend.log"
+        docker build -t "$COMPONENT-backend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG"
+        # next command is redundant, but helpful to keep cache updated between rebuilds
+        docker build -t "$COMPONENT-backend:$TFS_IMAGE_TAG-builder" --target builder -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG"
+    else
         docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile . > "$BUILD_LOG"
     fi
 
     if [ -n "$TFS_REGISTRY_IMAGE" ]; then
         echo "  Pushing Docker image to '$TFS_REGISTRY_IMAGE'..."
 
-        TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}.log"
-        docker tag "$IMAGE_NAME" "$IMAGE_URL" > "$TAG_LOG"
+        if [ "$COMPONENT" == "pathcomp" ]; then
+            TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-frontend.log"
+            docker tag "$COMPONENT-frontend:$TFS_IMAGE_TAG" "$IMAGE_URL-frontend" > "$TAG_LOG"
+
+            TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}-backend.log"
+            docker tag "$COMPONENT-backend:$TFS_IMAGE_TAG" "$IMAGE_URL-backend" > "$TAG_LOG"
+
+            PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-frontend.log"
+            docker push "$IMAGE_URL-frontend" > "$PUSH_LOG"
+
+            PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}-backend.log"
+            docker push "$IMAGE_URL-backend" > "$PUSH_LOG"
+        else
+            TAG_LOG="$TMP_LOGS_FOLDER/tag_${COMPONENT}.log"
+            docker tag "$IMAGE_NAME" "$IMAGE_URL" > "$TAG_LOG"
 
-        PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}.log"
-        docker push "$IMAGE_URL" > "$PUSH_LOG"
+            PUSH_LOG="$TMP_LOGS_FOLDER/push_${COMPONENT}.log"
+            docker push "$IMAGE_URL" > "$PUSH_LOG"
+        fi
     fi
 
     echo "  Adapting '$COMPONENT' manifest file..."
     MANIFEST="$TMP_MANIFESTS_FOLDER/${COMPONENT}service.yaml"
     cp ./manifests/"${COMPONENT}"service.yaml "$MANIFEST"
-    VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3)
 
     if [ -n "$TFS_REGISTRY_IMAGE" ]; then
         # Registry is set
-        sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST"
-        sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Always#g" "$MANIFEST"
+        if [ "$COMPONENT" == "pathcomp" ]; then
+            VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-frontend:" "$MANIFEST" | cut -d ":" -f3)
+            sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-frontend:${VERSION}#image: $IMAGE_URL-frontend#g" "$MANIFEST"
+
+            VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-backend:" "$MANIFEST" | cut -d ":" -f3)
+            sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-backend:${VERSION}#image: $IMAGE_URL-backend#g" "$MANIFEST"
+
+            sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Always#g" "$MANIFEST"
+        else
+            VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3)
+            sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST"
+            sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Always#g" "$MANIFEST"
+        fi
     else
         # Registry is not set
-        sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_NAME#g" "$MANIFEST"
-        sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Never#g" "$MANIFEST"        
+        if [ "$COMPONENT" == "pathcomp" ]; then
+            VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-frontend:" "$MANIFEST" | cut -d ":" -f3)
+            sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-frontend:${VERSION}#image: $IMAGE_NAME-frontend#g" "$MANIFEST"
+
+            VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-backend:" "$MANIFEST" | cut -d ":" -f3)
+            sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-backend:${VERSION}#image: $IMAGE_NAME-backend#g" "$MANIFEST"
+
+            sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Never#g" "$MANIFEST"
+        else
+            VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f3)
+            sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_NAME#g" "$MANIFEST"
+            sed -E -i "s#imagePullPolicy: .*#imagePullPolicy: Never#g" "$MANIFEST"
+        fi
     fi
 
     echo "  Deploying '$COMPONENT' component to Kubernetes..."
diff --git a/manifests/pathcompservice.yaml b/manifests/pathcompservice.yaml
index b5316e22f1eefd4177ae33f4fc89da256f65bff8..0b4e561cabe810b451534e433785bcfadf388663 100644
--- a/manifests/pathcompservice.yaml
+++ b/manifests/pathcompservice.yaml
@@ -27,8 +27,8 @@ spec:
     spec:
       terminationGracePeriodSeconds: 5
       containers:
-      - name: server
-        image: registry.gitlab.com/teraflow-h2020/controller/pathcomp:latest
+      - name: frontend
+        image: registry.gitlab.com/teraflow-h2020/controller/pathcomp-frontend:latest
         imagePullPolicy: Always
         ports:
         - containerPort: 10020
@@ -48,6 +48,37 @@ spec:
           limits:
             cpu: 700m
             memory: 1024Mi
+      - name: backend
+        image: registry.gitlab.com/teraflow-h2020/controller/pathcomp-backend:latest
+        imagePullPolicy: Always
+        # not working; to be investigated
+        #readinessProbe:
+        #  exec:
+        #    command:
+        #      - curl -X POST -0
+        #      - -H 'Expect:'
+        #      - -H 'Content-Type:\ application/json'
+        #      - -d '{}'
+        #      - http://127.0.0.1:8081/pathComp/api/v1/compRoute
+        #  initialDelaySeconds: 5
+        #  timeoutSeconds: 5
+        #livenessProbe:
+        #  exec:
+        #    command:
+        #      - curl -X POST -0
+        #      - -H 'Expect:'
+        #      - -H 'Content-Type:\ application/json'
+        #      - -d '{}'
+        #      - http://127.0.0.1:8081/pathComp/api/v1/compRoute
+        #  initialDelaySeconds: 5
+        #  timeoutSeconds: 5
+        resources:
+          requests:
+            cpu: 250m
+            memory: 512Mi
+          limits:
+            cpu: 700m
+            memory: 1024Mi
 ---
 apiVersion: v1
 kind: Service