Newer
Older
#
# Run Script for AURA Engine
#
# Call with one of these parameters:
#
# - engine
# - core
# - lqs
# - api-dev
# - api
#
# - docker:engine
# - docker:core
# - docker:lqs
# - docker:build
# - docker:api
#
if [[ $* =~ ^(engine|core|lqs|api-dev|api)$ ]]; then
mode=$1
if [[ $mode == "engine" ]]; then
/usr/bin/env python3.7 engine-core.py
fi
if [[ $mode == "core" ]]; then
/usr/bin/env python3.7 engine-core.py --without-lqs
fi
### Runs Liquidsoap only ###
if [[ $mode == "lqs" ]]; then
lqs=$(/usr/bin/env python3.7 engine-core.py --get-lqs-command)
eval "$lqs"
fi
### 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 engine-api.py
fi
### Runs the API Server (Production) ###
if [[ $mode == "api" ]]; then
echo "Building Web Applications"
sh ./script/build-web.sh
echo "Activating Python Environment"
source ../python-env/bin/activate
echo "Starting API Server"
gunicorn -c configuration/gunicorn.conf.py engine-api:app
fi
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# +++ DOCKER COMMANDS +++ #
if [[ $docker == "true" ]]; then
BASE_D=$(realpath "${BASH_SOURCE%/*}/")
### Runs Engine Core & Liquidsoap ###
if [[ $mode == "engine" ]]; then
exec sudo docker run --name aura-engine --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/ aura/engine /srv/engine-core.py
fi
### Runs Engine Core only ###
if [[ $mode == "core" ]]; then
exec sudo docker run --name aura-engine-core --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/ aura/engine /srv/engine-core.py "--without-lqs"
fi
### Runs Liquidsoap only ###
if [[ $mode == "lqs" ]]; then
lqs=$(/usr/bin/env python3.7 engine-core.py --get-lqs-command)
eval "$lqs"
exec sudo docker run --name aura-engine-liquidsoap --rm -it \
-u 1000:1000 \
-v "$BASE_D":/srv \
-v "$BASE_D/configuration/":/etc/aura \
--tmpfs /var/log/aura/ \
--device /dev/snd aura/engine /bin/bash \
-c "cd /srv/modules/liquidsoap && liquidsoap --debug --verbose engine.liq"
fi
### Runs Engine API using Gunicorn ###
if [[ $mode == "engine" ]]; then
exec sudo docker run --name aura-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/ aura/engine /srv/engine-api.py \
--device aura/engine /bin/bash \
-c "gunicorn -c configuration/gunicorn.conf.py engine-api:app"
fi
### Create Docker Image from local project ###
if [[ $mode == "build" ]]; then
exec sudo docker build -t aura/engine .
fi