Skip to content
Snippets Groups Projects
Commit 5d48a978 authored by David Trattnig's avatar David Trattnig
Browse files

Initial commit.

parent 797ea910
No related branches found
No related tags found
No related merge requests found
run.sh 0 → 100755
#!/bin/bash
# Default mode
mode="api-dev"
docker="false"
#
# Run Script for AURA Engine API
#
# Call with one of these parameters:
#
# - api-dev
# - api
# - recreate-database
# - docker:recreate-database
# - docker:build
# - docker:push
# - docker:api
#
if [[ $* =~ ^(api-dev|api)$ ]]; then
mode=$1
fi
if [[ "$1" == *"docker:"* ]]; then
docker="true"
mode=${1#*:}
fi
echo "[ Run mode=$mode ]"
echo "[ Docker=$docker ]"
# +++ DEFAULT COMMANDS +++ #
if [[ $docker == "false" ]]; then
### Runs the API Server (Development) ###
if [[ $mode == "api-dev" ]]; then
# echo "Building Web Applications"
# sh ./script/build-web.sh
echo "Starting API Server"
/usr/bin/env python3.7 -m src
fi
### Runs the API Server using Gunicorn without a system daemon (Production) ###
if [[ $mode == "api" ]]; then
echo "Activating Python Environment"
source ../python-env/bin/activate
echo "Starting API Server"
gunicorn -c configuration/gunicorn.conf.py src:app
fi
### CAUTION: This deletes everything in your database ###
if [[ $mode == "recreate-database" ]]; then
/usr/bin/env python3.7 -m src --recreate-database
fi
fi
# +++ DOCKER COMMANDS +++ #
if [[ $docker == "true" ]]; then
BASE_D=$(realpath "${BASH_SOURCE%/*}/")
### Runs Engine API using Gunicorn ###
# if [[ $mode == "api" ]]; then
# exec sudo docker run --name engine-api --rm -it \
# -u $UID:$GID \
# -p 127.0.0.1:8050:5000 \
# -v "$BASE_D":/srv \
# -v "$BASE_D/configuration/":/etc/aura \
# --tmpfs /var/log/aura/ autoradio/engine-api /srv/src/__main__.py \
# --device autoradio/engine-api /bin/bash \
# -c "gunicorn -c configuration/gunicorn.conf.py -m src:app"
# fi
if [[ $mode == "api" ]]; then
exec sudo docker run --name engine-api --rm -it \
-u $UID:$GID \
-p 127.0.0.1:8050:5000 \
-v "$BASE_D":/srv \
-v "$BASE_D/configuration/":/etc/aura \
--tmpfs /var/log/aura/ autoradio/engine-api /srv/src \
--device autoradio/engine /bin/bash
# -c "gunicorn -c configuration/gunicorn.conf.py src/__main__.py:app"
fi
### CAUTION: This deletes everything in your database ###
if [[ $mode == "recreate-database" ]]; then
exec sudo docker run --rm -it \
-u $UID:$GID \
-v "$BASE_D":/srv \
-v "$BASE_D/configuration/":/etc/aura \
--tmpfs /var/log/aura/ autoradio/engine-api /srv/src --recreate-database
fi
### Create Docker Image from local project ###
if [[ $mode == "build" ]]; then
exec sudo docker build -t autoradio/engine-api .
fi
### Pushes the latest Docker Image to Docker Hub ###
if [[ $mode == "push" ]]; then
exec sudo docker push autoradio/engine-api
fi
fi
\ No newline at end of file
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