diff --git a/docker-compose.yml b/docker-compose.yml
index ca3150e46cd2fb2f95413b7bd62852f3c791d93b..9ea7d1084715bfa21af948b49e506724d01d65e8 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -31,7 +31,7 @@ services:
     volumes:
       - aleksis_data:/var/lib/aleksis/
       - aleksis_static:/usr/share/aleksis/static/
-    entrypoint:  ["celery", "-A", "aleksis.core", "worker", "-l", "info"]
+    entrypoint:  ["/usr/local/bin/entrypoint.sh", "celery_worker"]
     environment:
       - ALEKSIS_http__allowed_hosts="['*']"
       - ALEKSIS_caching__memcached__address=memcached:11211
@@ -46,7 +46,7 @@ services:
     volumes:
       - aleksis_data:/var/lib/aleksis/
       - aleksis_static:/usr/share/aleksis/static/
-    entrypoint:  ["celery", "-A", "aleksis.core", "beat", "-l", "info", "--scheduler", "django_celery_beat.schedulers:DatabaseScheduler"]
+    entrypoint:  ["/usr/local/bin/entrypoint.sh", "celery_beat"]
     environment:
       - ALEKSIS_http__allowed_hosts="['*']"
       - ALEKSIS_caching__memcached__address=memcached:11211
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
index d66dbdd7707d66a32f005c0f62174aebd23847e7..8c9c64e55abb848ae6d67d42f99e5434f9916a94 100755
--- a/docker/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -21,8 +21,12 @@ python manage.py compilescss
 python manage.py collectstatic --no-input --clear
 python manage.py migrate
 
-if [[ -n "$@" ]]; then
-    exec "$@"
+ARG=${$1:-"gunicorn"}
+
+if [ $ARG = "celery_worker" ]; then
+    exec celery -A aleksis.core worker -l info
+elif [ $ARG = "celery_beat" ]; then
+    exec celery -A aleksis.core beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
 else
     exec gunicorn aleksis.core.wsgi --bind ${GUNICORN_BIND}
 fi