diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..dd4ecb6fbeb757e8197dd5979e6462c8ae61c8d9
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,12 @@
+image: python:3.10-bookworm
+pages:
+  stage: deploy
+  before_script:
+    - python -m pip install -r requirements.txt
+  script:
+    - jupyter lite build --contents math0024 --output-dir public
+  artifacts:
+    paths:
+      - public
+  only:
+    - main
diff --git a/jupyter-lite.json b/jupyter-lite.json
new file mode 100644
index 0000000000000000000000000000000000000000..6cfcd771e2e306a0f662369214c5c0fc94075f6e
--- /dev/null
+++ b/jupyter-lite.json
@@ -0,0 +1,10 @@
+{
+  "jupyter-lite-schema-version": 0,
+  "jupyter-config-data": {
+    "disabledExtensions": [
+      "@jupyterlab/drawio-extension",
+      "jupyterlab-kernel-spy",
+      "jupyterlab-tour"
+    ]
+  }
+}