diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..f0418e6
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.opencord.org
+port=29418
+project=openairinterface.git
+defaultremote=origin
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..4e91942
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,82 @@
+#
+# Copyright 2019-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM ubuntu:16.04 AS base-builder
+RUN apt-get update && apt-get install -y \
+    sudo \
+    linux-headers-`uname -r` \
+    vim-common \
+    git \
+    build-essential \
+    cmake \
+ && rm -rf /var/lib/apt/lists/*
+RUN git clone https://gitlab.eurecom.fr/oai/openairinterface5g/ /openairinterface5g
+WORKDIR /openairinterface5g
+ENV USER=root
+RUN git checkout -f v1.0.0 && \
+    /bin/bash -c "source oaienv" && \
+    cd cmake_targets && \
+    ./build_oai -I
+
+FROM base-builder AS enb-builder
+WORKDIR /openairinterface5g
+ENV USER=root
+RUN /bin/bash -c "source oaienv" && \
+    cd cmake_targets && \
+    ./build_oai --eNB -t ETHERNET -c
+
+FROM ubuntu:16.04 AS lte-softmodem
+RUN apt-get update && apt-get install -y \
+    libssl1.0.0 \
+    libnettle6 \
+    libsctp1 \
+    libforms2 \
+    libprotobuf-c1 \
+    libyaml-0-2 \
+    libconfig9 \
+    dnsutils \
+    iproute2 \
+    iputils-ping \
+ && rm -rf /var/lib/apt/lists/*
+WORKDIR /openairinterface5g/cmake_targets
+COPY --from=enb-builder /openairinterface5g/cmake_targets/ .
+
+FROM base-builder AS ue-builder
+WORKDIR /openairinterface5g
+ENV USER=root
+RUN /bin/bash -c "source oaienv" && \
+    cd cmake_targets && \
+    ./build_oai --UE -t ETHERNET -c
+
+FROM ubuntu:16.04 AS lte-uesoftmodem
+RUN apt-get update && apt-get install -y \
+    libssl1.0.0 \
+    libnettle6 \
+    libsctp1 \
+    libforms2 \
+    libconfig9 \
+    libblas3 \
+    liblapacke \
+    sudo \
+    dnsutils \
+    iproute2 \
+    iputils-ping \
+    net-tools \
+ && rm -rf /var/lib/apt/lists/*
+WORKDIR /openairinterface5g/cmake_targets
+COPY --from=ue-builder /openairinterface5g/cmake_targets .
+COPY --from=ue-builder /openairinterface5g/targets/bin/nvram .
+COPY --from=ue-builder /openairinterface5g/targets/bin/usim .
+COPY --from=ue-builder /openairinterface5g/targets ../targets
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..11e9f1d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,61 @@
+#
+# Copyright 2019-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+VERSION                  ?= $(shell cat ./VERSION)
+ENB_NAME                 ?= lte-softmodem
+UE_NAME                  ?= lte-uesoftmodem
+
+DOCKER_TAG               ?= ${VERSION}
+DOCKER_REGISTRY          ?=
+DOCKER_REPOSITORY        ?=
+DOCKER_BUILD_ARGS        ?=
+ENB_IMAGENAME            ?= ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}${ENB_NAME}:${DOCKER_TAG}
+UE_IMAGENAME             ?= ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}${UE_NAME}:${DOCKER_TAG}
+
+## Docker labels. Only set ref and commit date if committed
+DOCKER_LABEL_VCS_URL     ?= $(shell git remote get-url $(shell git remote))
+DOCKER_LABEL_VCS_REF     ?= $(shell git diff-index --quiet HEAD -- && git rev-parse HEAD || echo "unknown")
+DOCKER_LABEL_COMMIT_DATE ?= $(shell git diff-index --quiet HEAD -- && git show -s --format=%cd --date=iso-strict HEAD || echo "unknown" )
+DOCKER_LABEL_BUILD_DATE  ?= $(shell date -u "+%Y-%m-%dT%H:%M:%SZ")
+
+# https://docs.docker.com/engine/reference/commandline/build/#specifying-target-build-stage---target
+docker-build:
+	docker build $(DOCKER_BUILD_ARGS) \
+		--target ${ENB_NAME} \
+		--tag ${ENB_IMAGENAME} \
+		--build-arg org_label_schema_version="${VERSION}" \
+		--build-arg org_label_schema_vcs_url="${DOCKER_LABEL_VCS_URL}" \
+		--build-arg org_label_schema_vcs_ref="${DOCKER_LABEL_VCS_REF}" \
+		--build-arg org_label_schema_build_date="${DOCKER_LABEL_BUILD_DATE}" \
+		--build-arg org_opencord_vcs_commit_date="${DOCKER_LABEL_COMMIT_DATE}" \
+                .
+	docker build $(DOCKER_BUILD_ARGS) \
+		--target ${UE_NAME} \
+		--tag ${UE_IMAGENAME} \
+		--build-arg org_label_schema_version="${VERSION}" \
+		--build-arg org_label_schema_vcs_url="${DOCKER_LABEL_VCS_URL}" \
+		--build-arg org_label_schema_vcs_ref="${DOCKER_LABEL_VCS_REF}" \
+		--build-arg org_label_schema_build_date="${DOCKER_LABEL_BUILD_DATE}" \
+		--build-arg org_opencord_vcs_commit_date="${DOCKER_LABEL_COMMIT_DATE}" \
+		.
+
+docker-push:
+	docker push ${ENB_IMAGENAME}
+	docker push ${UE_IMAGENAME}
+
+test: docker-build
+
+.PHONY: docker-build docker-push test
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ff460a1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# openairinterface
+
+This repository includes Dockerfile that incorporates and packages openairinteface eNB and UE release v1.0.0. Note that the images are set to be built with ETHERNET as transport protocol and tested with L2 nFAPI simulator setup only. Related Helm chart and deployment script can be found https://github.com/opencord/helm-charts and https://github.com/opencord/automation-tools.
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..3eefcb9
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.0.0
