diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index 7f584cd9d5c16492803c6dbb7a1d53da9b0b46f1..b7dad8a6d0bf3e3b8f852149c16606b07aebe7ce 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -116,7 +116,7 @@ INSTALLED_APPS = [
     "colorfield",
     "django_bleach",
     "favicon",
-    "django_filters"
+    "django_filters",
 ]
 
 merge_app_settings("INSTALLED_APPS", INSTALLED_APPS, True)
diff --git a/aleksis/core/util/manage.py b/aleksis/core/util/manage.py
new file mode 100644
index 0000000000000000000000000000000000000000..64441f62dfdadbb589b973dcd65633e100bf647b
--- /dev/null
+++ b/aleksis/core/util/manage.py
@@ -0,0 +1,12 @@
+"""Management utilities for an AlekSIS installation."""
+
+import os
+import sys
+
+from django.core.management import execute_from_command_line
+
+
+def aleksis_cmd():
+    """Run django-admin command with correct settings path."""
+    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "aleksis.core.settings")
+    execute_from_command_line(sys.argv)
diff --git a/pyproject.toml b/pyproject.toml
index c0df6916b5e987cc3ec19bd1e03ddcfb567bda76..cfb02aa3649f591f00fac32004c0a397e43a09ab 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -101,6 +101,9 @@ celery = ["Celery", "django-celery-results", "django-celery-beat", "django-celer
 [tool.poetry.dev-dependencies]
 aleksis-builddeps = "*"
 
+[tool.poetry.scripts]
+aleksis-admin = 'aleksis.core.util.manage:aleksis_cmd'
+
 [tool.black]
 line-length = 100
 exclude = "/migrations/"