diff --git a/Dockerfile b/Dockerfile
index a5a01bf030cf9ae20f410e43ba04eaba16575282..394235fc171d5e1f8524b8057e0b5bbd9fd55713 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -59,13 +59,24 @@ RUN apt-get update &&\
 COPY ./libnvcuvid.so ./libnvidia-encode.so /usr/lib/x86_64-linux-gnu/
 
 ARG REALSENSE_VERSION=2.51.1
+ARG CATCH_VERSION=3.2.1
+ARG CMAKE_VERSION=3.25.1
 
 RUN cd /opt/ &&\
     # CMake
-    wget https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-x86_64.sh && \
-    chmod a+x ././cmake-3.23.2-linux-x86_64.sh && \
-    ./cmake-3.23.2-linux-x86_64.sh --skip-license --prefix=/usr/local && \
-    rm ./cmake-3.23.2-linux-x86_64.sh && \
+    wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.sh && \
+    chmod a+x ././cmake-${CMAKE_VERSION}-linux-x86_64.sh && \
+    ./cmake-${CMAKE_VERSION}-linux-x86_64.sh --skip-license --prefix=/usr/local && \
+    rm ./cmake-${CMAKE_VERSION}-linux-x86_64.sh && \
+    # Catch2
+    wget -O catch.tar.gz https://github.com/catchorg/Catch2/archive/refs/tags/v${CATCH_VERSION}.tar.gz &&\
+    tar -xf ./catch.tar.gz &&\
+    rm ./catch.tar.gz &&\
+    cd Catch2-${CATCH_VERSION} &&\
+    mkdir build && cd build &&\
+    cmake -DCMAKE_BUILD_TYPE=Release .. &&\
+    make -j8 && make install &&\
+    cd ../../ && rm -rf ./Catch2-${CATCH_VERSION} &&\
     # Realsense
     wget -O realsense.tar.gz https://github.com/IntelRealSense/librealsense/archive/refs/tags/v${REALSENSE_VERSION}.tar.gz &&\
     tar -xf ./realsense.tar.gz &&\
@@ -155,7 +166,7 @@ RUN cd /opt/ &&\
     rm -rf /opt/opencv-${OPENCV_VERSION} && rm -rf /opt/opencv_contrib-${OPENCV_VERSION} &&\
     ln -s /usr/local/include/opencv4/opencv2 /usr/local/include/opencv2
 
-ARG PROTOCOL_VERSION=0.6.18
+ARG PROTOCOL_VERSION=0.6.19
 
 # Beyond Protocol
 RUN wget https://gitlab.utu.fi/api/v4/projects/14965/packages/generic/libftl-protocol/${PROTOCOL_VERSION}/libftl-protocol${PROTOCOL_VERSION}-Linux.deb && \