diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..058fb3828408526b26c23d50798d867b4e3f8071
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,22 @@
+image: node:latest
+
+# allow caching for faster deployment
+cache:
+  paths:
+    - node_modules/
+    - public/
+    - .cache/
+
+pages:
+  tags:   
+    - public-docker
+  stage: deploy
+  script:
+    - yarn install
+    - yarn build:gitlab
+  artifacts:
+      paths:
+        - public
+  only:
+    - main
+
diff --git a/package.json b/package.json
index 45b095ae4b49dc9007bd9b10f16551ffd8217f21..2de593c7feb1369be0a9df86b795c0273142d913 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,7 @@
     "docusaurus": "docusaurus",
     "start": "docusaurus start",
     "build": "docusaurus build",
+    "build:gitlab": "docusaurus build --out-dir public",
     "swizzle": "docusaurus swizzle",
     "deploy": "docusaurus deploy",
     "clear": "docusaurus clear",