29d7b1c504
Signed-off-by: Nis Wechselberg <enbewe@enbewe.de>
49 lines
1.7 KiB
Bash
49 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
echo "Copying static files ..."
|
|
cp -r /usr/share/uffd/uffd/static /var/www/uffd
|
|
|
|
db_ready="false"
|
|
count=0
|
|
while [ $count -lt 4 ] && [ "$db_ready" != "true" ] ;do
|
|
if uffd-admin db current >> /dev/null 2>&1 ;then
|
|
db_ready="true"
|
|
else
|
|
echo "Waiting for db to become ready..."
|
|
((duration=2**$count))
|
|
sleep $duration
|
|
((count=$count+1))
|
|
fi
|
|
done
|
|
|
|
if [ "$db_ready" == "true" ] ;then
|
|
echo "Running datbase migrations ..."
|
|
uffd-admin db upgrade
|
|
|
|
if [ -n "$UFFD_INITIAL_ADMIN_PW" ] && [ "$(uffd-admin user list)" == "" ]; then
|
|
echo "Creating groups and roles for initial admin user ..."
|
|
if ! uffd-admin group show 'uffd_admin' >> /dev/null 2>&1 ;then
|
|
uffd-admin group create 'uffd_admin'
|
|
fi
|
|
if ! uffd-admin group show 'uffd_access' >> /dev/null 2>&1 ;then
|
|
uffd-admin group create 'uffd_access'
|
|
fi
|
|
if ! uffd-admin role show 'uffd_admin' >> /dev/null 2>&1 ;then
|
|
uffd-admin role create 'uffd_admin' --add-group 'uffd_admin' --add-group 'uffd_access'
|
|
fi
|
|
if [ -z "$UFFD_INITIAL_ADMIN_USER" ] ;then
|
|
UFFD_INITIAL_ADMIN_USER='uffd_admin'
|
|
fi
|
|
if [ -z "$UFFD_INITIAL_ADMIN_MAIL" ] ;then
|
|
UFFD_INITIAL_ADMIN_MAIL='uffd_admin@localhost'
|
|
fi
|
|
echo "Creating initial admin user ..."
|
|
uffd-admin user create "$UFFD_INITIAL_ADMIN_USER" --password "$UFFD_INITIAL_ADMIN_PW" --mail "$UFFD_INITIAL_ADMIN_MAIL" --add-role 'uffd_admin'
|
|
fi
|
|
else
|
|
echo "WARNING: Database is not ready yet, skipping migration and initialization"
|
|
fi
|
|
|
|
echo "Starting server ..."
|
|
runuser --preserve-environment -u uffd -- \
|
|
uwsgi --ini /etc/uwsgi/apps-enabled/uffd.ini --socket 0.0.0.0:3031 --master --stats 0.0.0.0:9191
|