diff --git a/base/Dockerfile b/base/Dockerfile
index 48a3736f5363d7041489fc8c4b88604a5a198ba2..0b2b3c400c56caf4aa5274c5b527de105d5756a9 100644
--- a/base/Dockerfile
+++ b/base/Dockerfile
@@ -4,32 +4,11 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 #
 
-# Use CentOS 7 as base image
-FROM centos:7 
+# Use Rocky Linux 8.9 minimal as base image
+FROM rockylinux:8.9-minimal
 
-# Copy the repository file to the container
-COPY vault.repo /root/vault.repo
+# Install epel repo, make, nano, openssh, wget, rsync, cronie, pip
+RUN microdnf -y install epel-release make nano openssh-clients wget rsync cronie python3.11-pip
 
-# Update the system and install basic utilities
-RUN yum-config-manager --disable base && \
-    yum-config-manager --disable updates && \
-    yum-config-manager --disable extras && \
-    cat /root/vault.repo >> /etc/yum.repos.d/Centos-Vault.repo && \
-    yum clean all && yum makecache
-
-# Install epel repo
-RUN yum update -y && yum -y install epel-release
-
-# Install make, nano, openssh, wget, rsync, and cronie
-RUN yum -y install make nano openssh-clients wget rsync cronie
-
-# Install python 3.9.9
-RUN yum -y install gcc openssl-devel bzip2-devel libffi-devel zlib-devel && \
-    wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz && \
-    tar xzf Python-3.9.9.tgz && \
-    cd Python-3.9.9 && \
-    ./configure --enable-optimizations && \
-    make altinstall && cd .. && rm Python-3.9.9.tgz
-    
 # Install redis, psycopg2, paramiko, scp, tabulate Python packages
-RUN pip3.9 install --no-cache-dir redis hiredis psycopg2-binary paramiko scp tabulate
+RUN pip3.11 install --no-cache-dir redis hiredis psycopg2-binary paramiko scp tabulate
diff --git a/base/vault.repo b/base/vault.repo
deleted file mode 100644
index 5c1d6910bd6eaf195c6010757dff56cac06bfc79..0000000000000000000000000000000000000000
--- a/base/vault.repo
+++ /dev/null
@@ -1,15 +0,0 @@
-[Vault-base]
-name=Vault - CentOS-$releasever Base
-baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
-gpgcheck=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
-[Vault-updates]
-name=Vault - CentOS-$releasever Updates
-baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/
-gpgcheck=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
-[Vault-extras]
-name=Vault - CentOS-$releasever Extras
-baseurl=http://vault.centos.org/centos/$releasever/extras/$basearch/
-gpgcheck=0
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
diff --git a/client/Dockerfile b/client/Dockerfile
index a22ea7d67898ac64996a5eef4aa08ea47557da4a..6ff3c863e632b288c5561125615781d9b571cc73 100644
--- a/client/Dockerfile
+++ b/client/Dockerfile
@@ -4,8 +4,8 @@
 # SPDX-License-Identifier: GPL-3.0-or-later
 #
 
-# Use python 3.9.9-slim as base image
-FROM python:3.9.9-slim
+# Use python 3.11.7-slim as base image
+FROM python:3.11.7-slim
 
 # Install psql client to be able to connect manually to the file_catalog container
 # Install also redis-tools to be able to access the redis container via redis-cli
@@ -34,7 +34,7 @@ COPY config/vos_cli.conf.sample /etc/vos_cli/
 RUN chmod -R 755 /etc/vos_cli
 
 # Set the PAH environment variable
-ENV PATH "$PATH:/usr/bin/vos_cli"
+ENV PATH="$PATH:/usr/bin/vos_cli"
     
 # Run commands as 'client' user
 USER client
@@ -50,4 +50,4 @@ RUN echo ". /usr/share/bash-completion/completions/vos_data" >> .bashrc && \
     echo ". /usr/share/bash-completion/completions/vos_storage" >> .bashrc
     
 # Install python dependencies
-RUN pip3.9 install --no-cache-dir redis hiredis tabulate
+RUN pip3.11 install --no-cache-dir redis hiredis tabulate
diff --git a/docker-compose.yml b/docker-compose.yml
index 054e2146341a64997f95b6044e77d50505f80f62..a1363bd09c83012c500ad702b1adee8444790799 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -7,7 +7,8 @@
 version: '3.0'
 services:
   base:
-    image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base
+    #image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base
+    build: ./base
     container_name: base
   redis:
     image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/cache
@@ -20,7 +21,7 @@ services:
     ports:
     - "6379:6379"
   postgres:
-    image: git.ia2.inaf.it:5050/vospace/vospace-file-catalog
+    #image: git.ia2.inaf.it:5050/vospace/vospace-file-catalog
     #image: git.ia2.inaf.it:5050/vospace/vospace-staging/file-catalog
     build: ../vospace-file-catalog
     container_name: file_catalog
@@ -31,16 +32,17 @@ services:
     ports:
     - "5432:5432"
   transfer_service:
-    image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/transfer_service
+    #image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/transfer_service
+    build: ./transfer_service
     volumes:
       - ./conf/vos_ts.conf:/etc/vos_ts/vos_ts.conf
       - local:/home
       - hot_storage:/mnt/hot_storage/users
       - redis_data:/redis_data
       - "/home/${USER}/.ssh:/root/.ssh"
-    build: ./transfer_service
     container_name: transfer_service
     depends_on:
+    - base
     - postgres
     networks:
     - backend_net
@@ -48,7 +50,7 @@ services:
     tty: true
     command: ["./wait-for-it.sh", "postgres:5432", "--timeout=30", "--", "bash", "start.sh"]
   client:
-    image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/client
+    #image: git.ia2.inaf.it:5050/vospace/vospace-transfer-service/client
     volumes:
       - ./conf/vos_cli.conf:/etc/vos_cli/vos_cli.conf
     build: ./client
diff --git a/server/Dockerfile b/server/Dockerfile
index d0b67ae567a915c82a689b4341b6cb2fa3f2f9a7..08a760555b5b32bb15ac1e6c075f18567f2e28be 100644
--- a/server/Dockerfile
+++ b/server/Dockerfile
@@ -5,7 +5,8 @@
 #
 
 # Use 'base' as base image
-FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base
+#FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base
+FROM base
 
 # Add 'server' user and set home folder and shell
 RUN useradd -m -s /bin/bash server
diff --git a/transfer_service/Dockerfile b/transfer_service/Dockerfile
index 6dfad8560c08e69ba130a9740f4c48c860a409a6..e4d828ef6c66183900efd308a2017545c1a486a4 100644
--- a/transfer_service/Dockerfile
+++ b/transfer_service/Dockerfile
@@ -5,7 +5,8 @@
 #
 
 # Use 'base' as base image
-FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base
+#FROM git.ia2.inaf.it:5050/vospace/vospace-transfer-service/base
+FROM base
 
 # Create a new user called transfer_service, create the home directory and set the default shell
 RUN useradd -m -s /bin/bash transfer_service
diff --git a/transfer_service/start.sh b/transfer_service/start.sh
index bd224d117c7617e57efd00ab63839d844ada0e0c..be188c4e7d2540cb81f4e64f3ef48353b4dc196d 100644
--- a/transfer_service/start.sh
+++ b/transfer_service/start.sh
@@ -15,4 +15,4 @@ do
     chmod -R 755 /mnt/hot_storage/users/${user}
 done
 
-crond && /usr/local/bin/python3.9 transfer_service.py 2>&1 >> /var/log/vos_ts/error.log
+crond && /usr/bin/python3.11 transfer_service.py 2>&1 >> /var/log/vos_ts/error.log