diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d46497dbc2a8e4bd592843ded465624b29adfc66
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,27 @@
+stages: 
+  - image
+docker-build:
+  stage: image
+  image: docker:latest
+  tags:
+    - privileged
+  only:
+    refs:
+      - master
+  services:
+    - docker:dind
+  variables:
+    DOCKER_TLS_CERTDIR: "/certs"
+  before_script:
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+  script:
+    - |
+      if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
+        tag=""
+        echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'"
+      else
+        tag=":$CI_COMMIT_REF_SLUG"
+        echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag"
+      fi
+    - docker build --pull -t "$CI_REGISTRY_IMAGE${tag}" .
+    - docker push "$CI_REGISTRY_IMAGE${tag}"
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..653ea5bbd90bfcc43514e84d5a4dfda5e7abe008
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,8 @@
+FROM ubuntu:20.04
+
+COPY requirements.txt /requirements.txt
+
+RUN apt-get update && apt-get install -y python3 python3-pip python3-yaml git && \
+    pip3 install -r requirements.txt
+
+WORKDIR ./