diff --git a/Dockerfile b/Dockerfile index 4894c3295c2db0e9bbff314240f28fcea3f0eded..72447ae0b2efa114b3073f0838a817ccd769912e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,6 +25,7 @@ RUN apt-get -y update && \ eatmydata apt-get -y upgrade && \ eatmydata apt-get install -y --no-install-recommends \ build-essential \ + dumb-init \ gettext \ libpq5 \ libpq-dev \ @@ -53,8 +54,9 @@ VOLUME /var/lib/aleksis # Define entrypoint and uWSGI running on port 8000 EXPOSE 8000 -COPY docker-entrypoint.sh /usr/local/bin/entrypoint.sh -ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] +COPY docker-startup.sh /usr/local/bin/aleksis-docker-startup +ENTRYPOINT ["/usr/bin/dumb-init", "--"] +CMD ["/usr/local/bin/aleksis-docker-startup"] # Install assets FROM core as assets diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py index b8b7d520d9d6106e0f83effeb62ce0e5384280cd..70da044ae9fc3538283c105d0cfb202a9aaa4bff 100644 --- a/aleksis/core/settings.py +++ b/aleksis/core/settings.py @@ -533,7 +533,7 @@ CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" if _settings.get("celery.email", False): EMAIL_BACKEND = "djcelery_email.backends.CeleryEmailBackend" -if _settings.get("dev.uwsgi.celery", True): +if _settings.get("dev.uwsgi.celery", DEBUG): concurrency = _settings.get("celery.uwsgi.concurrency", 2) UWSGI.setdefault("attach-daemon", []) UWSGI["attach-daemon"].append(f"celery -A aleksis.core worker --concurrency={concurrency}") diff --git a/docker-entrypoint.sh b/docker-startup.sh similarity index 77% rename from docker-entrypoint.sh rename to docker-startup.sh index 30199b1b1064f641c3d064572f0fe24f26d40a7d..e3d9ca352d3eea7b35afb19b2de1bc95e70e928f 100755 --- a/docker-entrypoint.sh +++ b/docker-startup.sh @@ -22,12 +22,4 @@ aleksis-admin createinitialrevisions aleksis-admin compilescss aleksis-admin collectstatic --no-input --clear -ARG=${1:-uwsgi} - -if [ $ARG = "celery_worker" ]; then - exec celery -A aleksis.core worker -elif [ $ARG = "celery_beat" ]; then - exec celery -A aleksis.core beat -else - exec aleksis-admin runuwsgi http=$HTTP_PORT -fi +exec aleksis-admin runuwsgi http=$HTTP_PORT