diff --git a/services/backup/Dockerfile b/services/backup/Dockerfile
--- a/services/backup/Dockerfile
+++ b/services/backup/Dockerfile
@@ -14,6 +14,7 @@
 
 COPY native/cpp/CommonCpp/grpc/protos/backup.proto native/cpp/CommonCpp/grpc/protos/blob.proto protos/
 COPY services/backup/docker/ scripts/
+COPY services/lib/ .
 COPY services/backup/ .
 
 RUN scripts/build_server.sh
diff --git a/services/blob/Dockerfile b/services/blob/Dockerfile
--- a/services/blob/Dockerfile
+++ b/services/blob/Dockerfile
@@ -8,6 +8,7 @@
 
 COPY native/cpp/CommonCpp/grpc/protos/blob.proto protos/blob.proto
 COPY services/blob/docker/ scripts/
+COPY services/lib/ .
 COPY services/blob/ .
 
 ARG COMM_SERVICES_DEV_MODE
diff --git a/services/blob/cmake-components/folly.cmake b/services/blob/cmake-components/folly.cmake
deleted file mode 100644
--- a/services/blob/cmake-components/folly.cmake
+++ /dev/null
@@ -1,54 +0,0 @@
-add_definitions(
-  -DFOLLY_NO_CONFIG=1
-  -DFOLLY_HAVE_CLOCK_GETTIME=1
-  -DFOLLY_HAVE_MEMRCHR=1
-  -DFOLLY_USE_LIBCPP=0
-  -DFOLLY_MOBILE=0
-)
-
-set(
-  FOLLY_SOURCES
-
-  ./lib/folly/folly/detail/Futex.cpp
-  ./lib/folly/folly/synchronization/ParkingLot.cpp
-  ./lib/folly/folly/lang/SafeAssert.cpp
-  ./lib/folly/folly/FileUtil.cpp
-  ./lib/folly/folly/Subprocess.cpp
-  ./lib/folly/folly/File.cpp
-  ./lib/folly/folly/Format.cpp
-  ./lib/folly/folly/Conv.cpp
-  ./lib/folly/folly/io/IOBuf.cpp
-  ./lib/folly/folly/memory/detail/MallocImpl.cpp
-  ./lib/folly/folly/ScopeGuard.cpp
-  ./lib/folly/folly/hash/SpookyHashV2.cpp
-  ./lib/folly/folly/io/IOBufQueue.cpp
-  ./lib/folly/folly/lang/Assume.cpp
-  ./lib/folly/folly/String.cpp
-  ./lib/folly/folly/portability/SysUio.cpp
-  ./lib/folly/folly/net/NetOps.cpp
-  ./lib/folly/folly/synchronization/Hazptr.cpp
-  ./lib/folly/folly/detail/ThreadLocalDetail.cpp
-  ./lib/folly/folly/SharedMutex.cpp
-  ./lib/folly/folly/concurrency/CacheLocality.cpp
-  ./lib/folly/folly/detail/StaticSingletonManager.cpp
-  ./lib/folly/folly/executors/ThreadPoolExecutor.cpp
-  ./lib/folly/folly/executors/GlobalThreadPoolList.cpp
-  ./lib/folly/folly/Demangle.cpp
-  ./lib/folly/folly/synchronization/AsymmetricMemoryBarrier.cpp
-  ./lib/folly/folly/io/async/Request.cpp
-  ./lib/folly/folly/detail/MemoryIdler.cpp
-  ./lib/folly/folly/detail/AtFork.cpp
-  ./lib/folly/folly/Executor.cpp
-  ./lib/folly/folly/lang/CString.cpp
-  ./lib/folly/folly/portability/SysMembarrier.cpp
-  ./lib/folly/folly/container/detail/F14Table.cpp
-  ./lib/folly/folly/detail/UniqueInstance.cpp
-  ./lib/folly/folly/executors/QueuedImmediateExecutor.cpp
-  ./lib/folly/folly/memory/MallctlHelper.cpp
-)
-
-set(
-  FOLLY_INCLUDES
-
-  ./lib/folly
-)
diff --git a/services/blob/cmake-components/grpc.cmake b/services/blob/cmake-components/grpc.cmake
deleted file mode 100644
--- a/services/blob/cmake-components/grpc.cmake
+++ /dev/null
@@ -1,22 +0,0 @@
-# protobuf
-set(protobuf_MODULE_COMPATIBLE TRUE)
-find_package(Protobuf CONFIG REQUIRED)
-message(STATUS "Using protobuf ${Protobuf_VERSION}")
-
-set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf)
-set(_PROTOBUF_PROTOC $<TARGET_FILE:protobuf::protoc>)
-
-# Find gRPC installation
-find_package(gRPC CONFIG REQUIRED)
-message(STATUS "Using gRPC ${gRPC_VERSION}")
-
-set(_GRPC_GRPCPP gRPC::grpc++)
-set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)
-
-set(
-  GRPC_LIBS
-
-  ${_GRPC_GRPCPP}
-  ${_PROTOBUF_LIBPROTOBUF}
-  gRPC::grpc++_reflection
-)
diff --git a/services/backup/cmake-components/folly.cmake b/services/lib/cmake-components/folly.cmake
rename from services/backup/cmake-components/folly.cmake
rename to services/lib/cmake-components/folly.cmake
diff --git a/services/backup/cmake-components/grpc.cmake b/services/lib/cmake-components/grpc.cmake
rename from services/backup/cmake-components/grpc.cmake
rename to services/lib/cmake-components/grpc.cmake