diff --git a/backend/requirements.in b/backend/requirements.in
new file mode 100644
index 0000000000000000000000000000000000000000..1a3f97f469c4b3ab2462ebf170c61f87e303143e
--- /dev/null
+++ b/backend/requirements.in
@@ -0,0 +1,24 @@
+APScheduler==3.9.1
+charset-normalizer==2.0.12
+# CLI creation kit
+click==8.0.4
+Flask==2.0.3
+Flask-Cors==3.0.10
+flask-expects-json==1.7.0
+Flask-JWT-Extended==4.3.1
+Flask-Migrate==4.0.1
+Flask-SQLAlchemy==2.5.1
+pip-install==1.3.5
+jsonschema==4.4.0
+Jinja2==3.0.3
+jinja2-base64-filters==0.1.4
+kubernetes==24.2.0
+NamedAtomicLock==1.1.3
+oauthlib==3.2.0
+ory-kratos-client==1.0.0
+ory-hydra-client==1.11.8
+posix-ipc==1.1.1
+PyYAML==6.0.1
+regex==2022.3.15
+requests==2.27.1
+requests-oauthlib==1.3.1
diff --git a/backend/requirements.txt b/backend/requirements.txt
index 931b8284110a1bd3154e6da8cfdc8a177bd47c22..a830dd79c59f6645b27249de4b7f895744a23fac 100644
--- a/backend/requirements.txt
+++ b/backend/requirements.txt
@@ -1,44 +1,153 @@
-APScheduler==3.9.1
-attrs==21.4.0
-black==22.1.0
-certifi==2021.10.8
-cffi==1.15.0
+#
+# This file is autogenerated by pip-compile with Python 3.12
+# by the following command:
+#
+#    pip-compile --no-emit-index-url --output-file=requirements.txt --strip-extras requirements.in
+#
+alembic==1.13.2
+    # via flask-migrate
+apscheduler==3.9.1
+    # via -r requirements.in
+attrs==24.2.0
+    # via jsonschema
+cachetools==5.5.0
+    # via google-auth
+certifi==2024.7.4
+    # via
+    #   kubernetes
+    #   requests
 charset-normalizer==2.0.12
+    # via
+    #   -r requirements.in
+    #   requests
 click==8.0.4
-cryptography==36.0.2
-Flask==2.0.3
-Flask-Cors==3.0.10
+    # via
+    #   -r requirements.in
+    #   flask
+flask==2.0.3
+    # via
+    #   -r requirements.in
+    #   flask-cors
+    #   flask-expects-json
+    #   flask-jwt-extended
+    #   flask-migrate
+    #   flask-sqlalchemy
+flask-cors==3.0.10
+    # via -r requirements.in
 flask-expects-json==1.7.0
-Flask-JWT-Extended==4.3.1
-Flask-Migrate==4.0.1
-Flask-SQLAlchemy==2.5.1
-gunicorn==20.1.0
-idna==3.3
-pip-install==1.3.5
-itsdangerous==2.1.1
-jsonschema==4.4.0
-Jinja2==3.0.3
+    # via -r requirements.in
+flask-jwt-extended==4.3.1
+    # via -r requirements.in
+flask-migrate==4.0.1
+    # via -r requirements.in
+flask-sqlalchemy==2.5.1
+    # via
+    #   -r requirements.in
+    #   flask-migrate
+google-auth==2.34.0
+    # via kubernetes
+greenlet==3.0.3
+    # via sqlalchemy
+idna==3.7
+    # via requests
+itsdangerous==2.2.0
+    # via flask
+jinja2==3.0.3
+    # via
+    #   -r requirements.in
+    #   flask
+    #   jinja2-base64-filters
 jinja2-base64-filters==0.1.4
+    # via -r requirements.in
+jsonschema==4.4.0
+    # via
+    #   -r requirements.in
+    #   flask-expects-json
 kubernetes==24.2.0
-MarkupSafe==2.1.1
-mypy-extensions==0.4.3
-NamedAtomicLock==1.1.3
+    # via -r requirements.in
+mako==1.3.5
+    # via alembic
+markupsafe==2.1.5
+    # via
+    #   jinja2
+    #   mako
+    #   werkzeug
+namedatomiclock==1.1.3
+    # via -r requirements.in
 oauthlib==3.2.0
-ory-kratos-client==1.0.0
+    # via
+    #   -r requirements.in
+    #   requests-oauthlib
 ory-hydra-client==1.11.8
-pathspec==0.9.0
-platformdirs==2.5.1
+    # via -r requirements.in
+ory-kratos-client==1.0.0
+    # via -r requirements.in
+pip-install==1.3.5
+    # via -r requirements.in
 posix-ipc==1.1.1
-pycparser==2.21
-PyJWT==2.3.0
-pymysql==1.0.2
-pyrsistent==0.18.1
-PyYAML==6.0.1
+    # via -r requirements.in
+pyasn1==0.6.0
+    # via
+    #   pyasn1-modules
+    #   rsa
+pyasn1-modules==0.4.0
+    # via google-auth
+pyjwt==2.9.0
+    # via flask-jwt-extended
+pyrsistent==0.20.0
+    # via jsonschema
+python-dateutil==2.9.0.post0
+    # via
+    #   kubernetes
+    #   ory-hydra-client
+    #   ory-kratos-client
+pytz==2024.1
+    # via apscheduler
+pyyaml==6.0.1
+    # via
+    #   -r requirements.in
+    #   kubernetes
 regex==2022.3.15
+    # via -r requirements.in
 requests==2.27.1
+    # via
+    #   -r requirements.in
+    #   kubernetes
+    #   requests-oauthlib
 requests-oauthlib==1.3.1
+    # via
+    #   -r requirements.in
+    #   kubernetes
+rsa==4.9
+    # via google-auth
 six==1.16.0
-tomli==1.2.3
-typing-extensions==4.1.1
-urllib3==1.26.8
-Werkzeug==2.0.3
+    # via
+    #   apscheduler
+    #   flask-cors
+    #   kubernetes
+    #   python-dateutil
+sqlalchemy==2.0.32
+    # via
+    #   alembic
+    #   flask-sqlalchemy
+typing-extensions==4.12.2
+    # via
+    #   alembic
+    #   sqlalchemy
+tzlocal==5.2
+    # via apscheduler
+urllib3==1.26.19
+    # via
+    #   kubernetes
+    #   ory-hydra-client
+    #   ory-kratos-client
+    #   requests
+websocket-client==1.8.0
+    # via kubernetes
+werkzeug==3.0.3
+    # via
+    #   flask
+    #   flask-jwt-extended
+
+# The following packages are considered to be unsafe in a requirements file:
+# setuptools