2023-11-14 23:40:27 +01:00
|
|
|
#!/bin/bash
|
2023-11-15 00:38:53 +01:00
|
|
|
set -euo pipefail
|
2023-11-14 23:40:27 +01:00
|
|
|
echo "---------------"
|
|
|
|
echo "Nexus Dashboard"
|
|
|
|
echo "by Aaron Riedel"
|
|
|
|
echo "---------------"
|
2023-11-15 00:38:53 +01:00
|
|
|
echo "performing pre start check"
|
2023-11-14 23:40:27 +01:00
|
|
|
# check if necessary variables are set
|
|
|
|
[[ -z "${APP_SECRET_KEY}" ]] && echo "APP_SECRET_KEY not set" && exit 1
|
|
|
|
[[ -z "${APP_DATABASE_URI}" ]] && echo "APP_DATABASE_URI not set" && exit 1
|
2023-11-15 00:38:53 +01:00
|
|
|
# check if client is mounted
|
|
|
|
[ ! -d "~/NexusDashboard/app/luclient" ] && echo "LU client not found" && exit 1
|
|
|
|
[ ! -d "~/NexusDashboard/app/luclient/res" ] && echo "LU client is missing res folder" && exit 1
|
|
|
|
[ ! -d "~/NexusDashboard/app/luclient/locale" ] && echo "LU client is missing locale folder" && exit 1
|
|
|
|
# check if brickdb needs to be unzipped
|
|
|
|
if [ -f "~/NexusDashboard/app/luclient/res/brickdb.zip" ]; then
|
|
|
|
echo "brickdb.zip found"
|
|
|
|
unzip ~/NexusDashboard/app/luclient/res/brickdb.zip
|
|
|
|
rm ~/NexusDashboard/app/luclient/res/brickdb.zip
|
|
|
|
echo "brickdb.zip unpacked and removed"
|
|
|
|
fi
|
|
|
|
# rename ~/NexusDashboard/app/luclient/res/CDServer.sqlite
|
|
|
|
if [ -f "~/NexusDashboard/app/luclient/res/CDServer.sqlite" ]; then
|
|
|
|
echo "moving CDServer.sqlite to cdclient.sqlite"
|
|
|
|
mv ~/NexusDashboard/app/luclient/res/CDServer.sqlite ~/NexusDashboard/app/luclient/res/cdclient.sqlite
|
|
|
|
fi
|
|
|
|
cd ~/NexusDashboard
|
|
|
|
echo "run database migration"
|
|
|
|
flask db upgrade
|
|
|
|
echo "start server"
|
|
|
|
gunicorn -b :8000 -w 4 wsgi:app
|