#!/bin/bash set -euo pipefail echo "---------------" echo "Nexus Dashboard" echo "by Aaron Riedel" echo "---------------" echo "performing pre start check" # 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 # 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 echo "check cdclient.sqlite" # 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 [ ! -f ~/NexusDashboard/app/luclient/res/cdclient.sqlite ] && echo "cdclient.sqlite not found" && exit 1 echo "check settings_example.py" if [ ! -f ~/NexusDashboard/app/settings.py ]; then echo "settings.py not found. Copy settings_example.py to settings.py" cp ~/NexusDashboard/app/settings_example.py ~/NexusDashboard/app/settings.py fi [ -f ~/NexusDashboard/app/settings_example.py ] && rm ~/NexusDashboard/app/settings_example.py && echo "settings_example.py removed" echo "pre-check done" cd ~/NexusDashboard echo "run database migration" flask db upgrade echo "start server" gunicorn -b :8000 -w 4 wsgi:app