Skip to content
Snippets Groups Projects
Verified Commit b07b0833 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

[Docker] Refactor startup script into functions

parent 8290523b
No related branches found
No related tags found
1 merge request!539[Docker] Rewrite startup script t oallow scaling and be modular
......@@ -4,6 +4,35 @@ RUN_MODE=${RUN_MODE:-uwsgi}
HTTP_PORT=${HTTP_PORT:-8000}
PREPARE=${PREPARE:-1}
wait_migrations() {
echo -n "Waiting for migrations to appear"
while ! aleksis-admin migrate --check >/dev/null 2>&1; do
sleep 0.5
echo -n .
done
echo
}
wait_database() {
echo -n "Waiting for database."
while ! aleksis-admin dbshell -- -c "SELECT 1" >/dev/null 2>&1; do
sleep 0.5
echo -n .
done
echo
}
prepare_static() {
aleksis-admin compilescss
aleksis-admin collectstatic --no-input --clear
}
prepare_database() {
aleksis-admin migrate
aleksis-admin createinitialrevisions
}
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
......@@ -12,58 +41,32 @@ if [[ -z $ALEKSIS_secret_key ]]; then
ALEKSIS_secret_key=$(</var/lib/aleksis/secret_key)
fi
echo -n "Waiting for database."
while ! aleksis-admin dbshell -- -c "SELECT 1" >/dev/null 2>&1; do
sleep 0.5
echo -n .
done
echo
if [[ $PREPARE = 1 ]]; then
aleksis-admin compilescss
aleksis-admin collectstatic --no-input --clear
fi
wait_database
case "$RUN_MODE" in
uwsgi)
if [[ $PREPARE = 1 ]]; then
aleksis-admin migrate
aleksis-admin createinitialrevisions
prepare_database
prepare_static
else
while ! aleksis-admin migrate --check; do
sleep 0.5
done
wait_migrations
fi
aleksis-admin compilescss
aleksis-admin collectstatic --no-input --clear
exec aleksis-admin runuwsgi -- --http-socket=:$HTTP_PORT
;;
celery-worker)
celery-*)
if [[ $PREPARE = 1 ]]; then
aleksis-admin migrate
aleksis-admin createinitialrevisions
prepare_database
else
while ! aleksis-admin migrate --check; do
sleep 0.5
done
wait_migrations
fi
exec celery -A aleksis.core worker
;;
celery-beat)
if [[ $PREPARE = 1 ]]; then
aleksis-admin migrate
else
while ! aleksis-admin migrate --check; do
sleep 0.5
done
fi
exec celery -A aleksis.core beat
exec celery -A aleksis.core ${RUN_MODE#celery-}
;;
prepare)
aleksis-admin compilescss
aleksis-admin collectstatic --no-input --clear
aleksis-admin migrate
aleksis-admin createinitialrevisions
prepare_database
prepare_static
;;
*)
exec "$@"
;;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment