diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9ec2f9e8878f4404c25889f71392a1d1aaa3bd6e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,34 @@
+image: docker:stable
+
+services:
+  - docker:stable-dind
+
+variables:
+  REPOSITORY: "modjular/modjular-ubuntu"
+  BUILD_DIR: "."
+
+before_script:
+  - if [ -z "$DOCKER_TOKEN" ]; then
+      echo "The \$DOCKER_TOKEN variable is not set. This usually means you did not set up the needed variables in the GitLab repository settings. This can also be caused if trying to run Gitlab CI on a non protected tag or branch.";
+    fi
+  - echo "${DOCKER_TOKEN}" | docker login --username "${DOCKER_USER}" --password-stdin
+
+stages:
+   - deploy
+
+docker:
+    stage: deploy
+    script:
+      - if [ $CI_COMMIT_REF_NAME == "develop" ]; then
+          REV="git";
+        elif [ $CI_COMMIT_REF_NAME == "master" ]; then
+          REV="latest";
+        else
+          REV="$CI_COMMIT_REF_NAME";
+        fi
+      - docker build --network=host --pull -t "${REPOSITORY}:${REV}"
+                     --no-cache
+                     "${BUILD_DIR}"
+      - docker push "${REPOSITORY}"
+    tags:
+      - gitlab-org-docker