diff --git a/packages/common/.gitlab-ci/Dockerfile b/packages/common/.gitlab-ci/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..ead6a355e5258231ba3c0d91dff46ca851e2b700
--- /dev/null
+++ b/packages/common/.gitlab-ci/Dockerfile
@@ -0,0 +1,17 @@
+FROM ubuntu:18.04
+
+ENV LANG C.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN apt-get update && apt-get install -y \
+    git \
+    curl
+
+RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
+
+RUN apt-get update && apt-get install -y \
+    nodejs \
+    chromium-browser \
+    firefox \
+    composer \
+    rsync
\ No newline at end of file
diff --git a/packages/common/.gitlab-ci/README.md b/packages/common/.gitlab-ci/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..b23781f9bf8d919a01f569e3c145bc933e2d77f0
--- /dev/null
+++ b/packages/common/.gitlab-ci/README.md
@@ -0,0 +1,4 @@
+* In case of an incompatible change increase the tag version number in build.sh
+* ./build.sh
+* (first time) sudo docker login registry.gitlab.tugraz.at
+* sudo docker push registry.gitlab.tugraz.at/vpu/webcomponents/common/main:v1
\ No newline at end of file
diff --git a/packages/common/.gitlab-ci/build.sh b/packages/common/.gitlab-ci/build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b5705519d601825be3835d2158e2593b43bbe8ca
--- /dev/null
+++ b/packages/common/.gitlab-ci/build.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+set -e
+TAG="registry.gitlab.tugraz.at/vpu/webcomponents/common/main:v1"
+sudo docker build --tag "${TAG}" --file "Dockerfile" .
+echo "Now run: sudo docker push '$TAG'"