diff --git a/Makefile b/Makefile
index 41523df..be17a23 100644
--- a/Makefile
+++ b/Makefile
@@ -49,13 +49,25 @@
 # tool containers
 VOLTHA_TOOLS_VERSION ?= 2.5.3
 
+# Dependencies versions
+LIBYANG_VERSION		?= v2.0.164
+SYSREPO_VERSION		?= v2.1.42
+LIBNETCONF2_VERSION	?= v2.1.7
+NETOPEER2_VERSION	?= v2.1.16
+
+# Default user and password for the netconf user in docker-build
+NETCONF_USER ?= voltha
+NETCONF_PASSWORD ?= onf
+
 # This container is built to include the necessary sysrepo libraries
 # to succesfully build and test the code in this repository
 BUILDER_IMAGE_AND_TAG ?= voltha/bbf-adapter-builder:local 
 build-tools: build/tools/Dockerfile.builder
 	docker build \
 	  -t ${BUILDER_IMAGE_AND_TAG} \
-	  -f build/tools/Dockerfile.builder .
+	  -f build/tools/Dockerfile.builder . \
+	  --build-arg LIBYANG_VERSION=${LIBYANG_VERSION} \
+	  --build-arg SYSREPO_VERSION=${SYSREPO_VERSION}
 
 GO_LOCAL_BUILDER            = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg ${BUILDER_IMAGE_AND_TAG} go
 GO                          = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-golang go
@@ -64,10 +76,6 @@
 GOLANGCI_LINT_LOCAL_BUILDER = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") -v gocache:/.cache -v gocache-${VOLTHA_TOOLS_VERSION}:/go/pkg ${BUILDER_IMAGE_AND_TAG} golangci-lint
 HADOLINT                    = docker run --rm --user $$(id -u):$$(id -g) -v ${CURDIR}:/app $(shell test -t 0 && echo "-it") voltha/voltha-ci-tools:${VOLTHA_TOOLS_VERSION}-hadolint hadolint
 
-# Default user and password for the netconf user in docker-build
-NETCONF_USER ?= voltha
-NETCONF_PASSWORD ?= onf
-
 .PHONY: docker-build local-protos local-lib-go help test sca
 .DEFAULT_GOAL := help
 
@@ -105,7 +113,9 @@
 	  -t ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-northbound-bbf-adapter:${DOCKER_TAG} \
 	  -f build/package/Dockerfile.bbf-adapter . \
 	  --build-arg NETCONF_USER=${NETCONF_USER} \
-	  --build-arg NETCONF_PASSWORD=${NETCONF_PASSWORD}
+	  --build-arg NETCONF_PASSWORD=${NETCONF_PASSWORD} \
+	  --build-arg LIBNETCONF2_VERSION=${LIBNETCONF2_VERSION} \
+	  --build-arg NETOPEER2_VERSION=${NETOPEER2_VERSION}
 
 docker-push: ## Push the docker images to an external repository
 	docker push ${ADAPTER_IMAGENAME}
diff --git a/build/package/Dockerfile.bbf-adapter b/build/package/Dockerfile.bbf-adapter
index eccf3fa..72a4661 100644
--- a/build/package/Dockerfile.bbf-adapter
+++ b/build/package/Dockerfile.bbf-adapter
@@ -35,7 +35,7 @@
 ARG org_opencord_vcs_dirty=unknown
 
 # Build
-SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+SHELL ["/bin/ash", "-o", "pipefail", "-c"]
 RUN \
       CGO_ENABLED=$CGO_PARAMETER go build $EXTRA_GO_BUILD_TAGS -mod=vendor -o /app/bbf-adapter \
       -ldflags \
@@ -52,40 +52,64 @@
 
 # -------------
 # Image creation stage
-FROM ubuntu:hirsute-20220113 AS prod
+FROM alpine:3.13 AS prod
 
-SHELL ["/bin/bash", "-o", "pipefail", "-c"]
-RUN \
-      apt-get update && \
-      apt-get install -y \
-            wget=1.21-1ubuntu3 ca-certificates=20210119ubuntu0.21.04.1 \
-            libpcre2-8-0=10.36-2ubuntu5 \
-            libcrypt1=1:4.4.17-1ubuntu3 \
-            libssh-4=0.9.5-1ubuntu0.1 \
-            --no-install-recommends && \
-      rm -rf /var/lib/apt/lists/*
+SHELL ["/bin/ash", "-o", "pipefail", "-c"]
 
-# Download and install library packages
-RUN \
-      wget https://github.com/CESNET/libyang/releases/download/v2.0.112/libyang2_2.0.112.1-1_amd64.deb -O libyang2.deb && \
-      wget https://github.com/sysrepo/sysrepo/releases/download/v2.0.53/libsysrepo6_2.0.53.1-1_amd64.deb -O libsysrepo6.deb && \
-      wget https://github.com/sysrepo/sysrepo/releases/download/v2.0.53/sysrepo-tools_2.0.53.1-1_amd64.deb -O sysrepo-tools.deb && \
-      wget https://github.com/CESNET/libnetconf2/releases/download/v2.0.24/libnetconf2-2_2.0.24.1-1_amd64.deb -O libnetconf2-2.deb && \
-      wget https://github.com/CESNET/netopeer2/releases/download/v2.0.35/netopeer2_2.0.35.2-1_amd64.deb -O netopeer2_2.deb
+RUN apk add --no-cache build-base=0.5-r2 pcre2-dev=10.36-r0 git=2.30.2-r0 cmake=3.18.4-r1 libssh-dev=0.9.5-r0 openssl-dev=1.1.1n-r0 openssl=1.1.1n-r0 bash=5.1.16-r0
 
-RUN dpkg -i libyang2.deb libsysrepo6.deb sysrepo-tools.deb libnetconf2-2.deb netopeer2_2.deb
+RUN rm -r /usr/local/lib && ln -s /usr/local/lib64 /usr/local/lib
 
-RUN rm libyang2.deb libsysrepo6.deb sysrepo-tools.deb libnetconf2-2.deb netopeer2_2.deb
+WORKDIR /
+
+COPY --from=dev /libyang /libyang
+COPY --from=dev /sysrepo /sysrepo
+
+#Build libyang
+WORKDIR /libyang/build
+RUN make install && \
+    rm -rf libyang
+
+#Build sysrepo
+WORKDIR /sysrepo/build
+RUN make install && \
+    rm -rf sysrepo
+
+ARG LIBNETCONF2_VERSION
+ARG NETOPEER2_VERSION
+
+#Build libnetconf2
+WORKDIR /
+RUN git clone https://github.com/CESNET/libnetconf2.git
+WORKDIR /libnetconf2
+RUN git checkout $LIBNETCONF2_VERSION && mkdir build
+WORKDIR /libnetconf2/build
+RUN cmake -D CMAKE_BUILD_TYPE:String="Release" .. && \
+    make && \
+    make install && \
+    rm -rf libnetconf2
+
+#Build netopeer2
+WORKDIR /
+RUN git clone https://github.com/CESNET/netopeer2.git
+WORKDIR /netopeer2
+RUN git checkout $NETOPEER2_VERSION && mkdir build
+WORKDIR /netopeer2/build
+RUN cmake -D CMAKE_BUILD_TYPE:String="Release" .. && \
+    make && \
+    make install && \
+    rm -rf netopeer2
 
 # Copy yang files and install them to sysrepo
 COPY ./build/yang-files /yang
-RUN for f in /yang/*.yang; do sysrepoctl -a -i "$f" -s /yang -p 664 -v3; done
+RUN for f in /yang/*.yang; do sysrepoctl -i "$f" -s /yang -p 664 -v3; done
 
 # Add user for connecting to netopeer2-server through ssh
 ARG NETCONF_USER=voltha
 ARG NETCONF_PASSWORD=onf
 
-RUN useradd -rm -g netconf -u 1001 $NETCONF_USER
+RUN addgroup -S netconf
+RUN adduser $NETCONF_USER --uid 1001 -G netconf --disabled-password
 RUN echo $NETCONF_USER:$NETCONF_PASSWORD | chpasswd
 
 # Set the working directory
diff --git a/build/tools/Dockerfile.builder b/build/tools/Dockerfile.builder
index 7e7f710..1fe22ad 100644
--- a/build/tools/Dockerfile.builder
+++ b/build/tools/Dockerfile.builder
@@ -15,27 +15,38 @@
 # Dockerfile with golang and the sysrepo dependencies for voltha-northbound-bff-adapter
 # This image is used for testing, static code analysis and building
 
-FROM --platform=linux/amd64 golang:1.16.3-buster AS dev
+FROM --platform=linux/amd64 golang:1.16.3-alpine3.13 AS dev
 
 RUN mkdir -m 777 /.cache /go/pkg
 
+RUN apk add --no-cache build-base=0.5-r2 pcre2-dev=10.36-r0 git=2.30.2-r0 cmake=3.18.4-r1
+
 #Install golangci-lint
 RUN go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.44.2
 
-RUN \
-    apt-get update && apt-get install -y libpcre2-dev=10.32-5 --no-install-recommends && \
-    rm -rf /var/lib/apt/lists/*
 
-# Download and install library packages
-RUN \
-    wget https://github.com/CESNET/libyang/releases/download/v2.0.112/libyang2_2.0.112.1-1_amd64.deb -O libyang2.deb && \
-    wget https://github.com/CESNET/libyang/releases/download/v2.0.112/libyang2-dev_2.0.112.1-1_amd64.deb -O libyang2-dev.deb && \
-    wget https://github.com/sysrepo/sysrepo/releases/download/v2.0.53/libsysrepo6_2.0.53.1-1_amd64.deb -O libsysrepo6.deb && \
-    wget https://github.com/sysrepo/sysrepo/releases/download/v2.0.53/libsysrepo-dev_2.0.53.1-1_amd64.deb -O libsysrepo-dev.deb
+ARG LIBYANG_VERSION
+ARG SYSREPO_VERSION
 
-RUN dpkg -i libyang2.deb libyang2-dev.deb libsysrepo6.deb libsysrepo-dev.deb
+#Build libyang
+WORKDIR /
+RUN git clone https://github.com/CESNET/libyang.git
+WORKDIR /libyang
+RUN git checkout $LIBYANG_VERSION && mkdir build
+WORKDIR /libyang/build
+RUN cmake -D CMAKE_BUILD_TYPE:String="Release" .. && \
+    make && \
+    make install
 
-RUN rm libyang2.deb libyang2-dev.deb libsysrepo6.deb libsysrepo-dev.deb
+#Build sysrepo
+WORKDIR /
+RUN git clone https://github.com/sysrepo/sysrepo.git
+WORKDIR /sysrepo
+RUN git checkout $SYSREPO_VERSION && mkdir build
+WORKDIR /sysrepo/build
+RUN cmake -D CMAKE_BUILD_TYPE:String="Release" .. && \
+    make && \
+    make install
 
 WORKDIR /app
 
diff --git a/internal/sysrepo/sysrepo.go b/internal/sysrepo/sysrepo.go
index 57de757..4ab96ff 100644
--- a/internal/sysrepo/sysrepo.go
+++ b/internal/sysrepo/sysrepo.go
@@ -16,7 +16,6 @@
 
 package sysrepo
 
-//#cgo CFLAGS: -I/usr/include
 //#cgo LDFLAGS: -lsysrepo -lyang -Wl,--allow-multiple-definition
 //#include "plugin.c"
 import "C"
@@ -53,7 +52,7 @@
 	}
 
 	//libyang context
-	ly_ctx := C.sr_get_context(conn)
+	ly_ctx := C.sr_acquire_context(conn)
 	if ly_ctx == nil {
 		return fmt.Errorf("null-libyang-context")
 	}
@@ -68,7 +67,12 @@
 		if lyErr != C.LY_SUCCESS {
 			freeCString(path)
 			freeCString(value)
-			return fmt.Errorf("libyang-new-path-failed: %d", lyErr)
+
+			lyErrString := C.ly_errmsg(ly_ctx)
+			err := fmt.Errorf("libyang-new-path-failed: %d %s", lyErr, C.GoString(lyErrString))
+			freeCString(lyErrString)
+
+			return err
 		}
 
 		freeCString(path)
@@ -164,13 +168,13 @@
 	path := C.CString(core.DevicesPath + "/*")
 	defer freeCString(path)
 
-	errCode := C.sr_oper_get_items_subscribe(
+	errCode := C.sr_oper_get_subscribe(
 		plugin.session,
 		module,
 		path,
 		C.function(C.get_devices_cb_wrapper),
 		C.NULL,
-		C.SR_SUBSCR_CTX_REUSE,
+		C.SR_SUBSCR_DEFAULT,
 		&plugin.subscription,
 	)
 	if errCode != C.SR_ERR_OK {
