From a6c675d6713f8654ad6d9ba7db4fa348f2371fdd Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Tue, 9 Mar 2021 22:25:12 +0100
Subject: [PATCH] [Docker] Add entrypoint script

---
 docker-entrypoint.sh | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100755 docker-entrypoint.sh

diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
new file mode 100755
index 000000000..6266caa4b
--- /dev/null
+++ b/docker-entrypoint.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+GUNICORN_BIND=${GUNICORN_BIND:-0.0.0.0:8000}
+
+export ALEKSIS_database__host=${ALEKSIS_database__host:-127.0.0.1}
+export ALEKSIS_database__port=${ALEKSIS_database__port:-5432}
+
+if [[ -z $ALEKSIS_secret_key ]]; then
+    if [[ ! -e /var/lib/aleksis/secret_key ]]; then
+	touch /var/lib/aleksis/secret_key; chmod 600 /var/lib/aleksis/secret_key
+	LC_ALL=C tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' </dev/urandom | head -c 64 >/var/lib/aleksis/secret_key
+    fi
+    ALEKSIS_secret_key=$(</var/lib/aleksis/secret_key)
+fi
+
+while ! nc -z $ALEKSIS_database__host $ALEKSIS_database__port; do
+    sleep 0.1
+done
+
+aleksis-admin compilescss
+aleksis-admin collectstatic --no-input --clear
+aleksis-admin migrate
+aleksis-admin createinitialrevisions
+
+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
-- 
GitLab