diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5e3068ba2a341e1d8a8b5c401dd97f14342b3024
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,25 @@
+default:
+  image: docker:latest
+
+stages:
+  - build
+
+variables:
+  PACKAGE_NAME: "mistral"
+  DOCKER_IMAGE: "$CI_REGISTRY_IMAGE/$PACKAGE_NAME"
+  DOCKER_TLS_CERTDIR: "/certs"
+
+before_script:
+  - unset DOCKER_HOST
+  - echo "${CI_REGISTRY_PASSWORD}" | docker login -u "${CI_REGISTRY_USER}" --password-stdin ${CI_REGISTRY}
+
+push_docker_image:
+  stage: build
+  services:
+    - docker:dind
+  script:
+    - docker build -t $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA -f docker/Dockerfile .
+    - docker push $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA
+  only:
+    - main  # Only run on the main branch
+