|
@@ -0,0 +1,108 @@
|
|
|
|
+#!/bin/bash
|
|
|
|
+
|
|
|
|
+# default ports
|
|
|
|
+# UI API DF RD PS
|
|
|
|
+ports=("80" "5000" "5050" "6380" "5430")
|
|
|
|
+# default flag for bulding docker images
|
|
|
|
+b=true
|
|
|
|
+
|
|
|
|
+# parse arguments
|
|
|
|
+args=("$@")
|
|
|
|
+
|
|
|
|
+i=0
|
|
|
|
+while [ $i -lt $# ]
|
|
|
|
+do
|
|
|
|
+ case ${args[$i]} in
|
|
|
|
+ "-ui")
|
|
|
|
+ ports[0]=${args[$i+1]}
|
|
|
|
+ ;;
|
|
|
|
+ "-api")
|
|
|
|
+ ports[1]=${args[$i+1]}
|
|
|
|
+ ;;
|
|
|
|
+ "-df")
|
|
|
|
+ ports[2]=${args[$i+1]}
|
|
|
|
+ ;;
|
|
|
|
+ "-rd")
|
|
|
|
+ ports[3]=${args[$i+1]}
|
|
|
|
+ ;;
|
|
|
|
+ "-mysql")
|
|
|
|
+ ports[4]=${args[$i+1]}
|
|
|
|
+ ;;
|
|
|
|
+ "-b")
|
|
|
|
+ b=false
|
|
|
|
+ let i--
|
|
|
|
+ ;;
|
|
|
|
+ "stop")
|
|
|
|
+ echo
|
|
|
|
+ echo Stopping containers...
|
|
|
|
+ docker stop baangt-ui baangt-api baangt-file rq-worker redis baangt-postgres
|
|
|
|
+ exit 1
|
|
|
|
+ ;;
|
|
|
|
+ esac
|
|
|
|
+ let i=$i+2
|
|
|
|
+done
|
|
|
|
+
|
|
|
|
+# building docker images
|
|
|
|
+if [ $b = true ]
|
|
|
|
+then
|
|
|
|
+ # postgres
|
|
|
|
+ # building docker images
|
|
|
|
+ echo
|
|
|
|
+ echo Building PostgreSQL image...
|
|
|
|
+ docker build -t baangt-postgres:latest postgres
|
|
|
|
+ # UI Service
|
|
|
|
+ echo
|
|
|
|
+ echo Building UI Service...
|
|
|
|
+ docker build -t baangt-ui:latest ui
|
|
|
|
+ # File Servise
|
|
|
|
+ echo
|
|
|
|
+ echo Building DataFile Service...
|
|
|
|
+ docker build -t baangt-file:latest files
|
|
|
|
+ # API Service
|
|
|
|
+ echo
|
|
|
|
+ echo Building Execution API Service...
|
|
|
|
+ docker build -t baangt-api:latest api
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+# running containers
|
|
|
|
+
|
|
|
|
+# Redis
|
|
|
|
+echo
|
|
|
|
+echo Starting Redis...
|
|
|
|
+docker run -d -p ${ports[3]}:6379 --name redis --rm redis:5-alpine
|
|
|
|
+
|
|
|
|
+# RQ Worker
|
|
|
|
+echo
|
|
|
|
+echo Starting Redis Worker...
|
|
|
|
+docker run -d --name rq-worker \
|
|
|
|
+ -e BAANGT_DATAFILE_HOST=172.17.0.1:${ports[2]} --rm \
|
|
|
|
+ -e DATABASE_URL=postgresql://baangt:12345@172.17.0.1:${ports[4]}/execution \
|
|
|
|
+ -e REDIS_URL=redis://172.17.0.1:${ports[3]}/0 --entrypoint rq \
|
|
|
|
+ baangt-api:latest worker -u redis://172.17.0.1:${ports[3]}/0 baangt-tasks
|
|
|
|
+
|
|
|
|
+# postgres
|
|
|
|
+echo
|
|
|
|
+echo Starting PostgreSQL container...
|
|
|
|
+docker run -d -p ${port}:5432 --name baangt-postgres -e POSTGRES_PASSWORD=12345 baangt-postgres:latest
|
|
|
|
+docker start baangt-postgres
|
|
|
|
+
|
|
|
|
+# Data Files
|
|
|
|
+echo
|
|
|
|
+echo Starting Data File Service...
|
|
|
|
+docker run -d -p ${ports[2]}:5000 --name baangt-file --rm baangt-file:latest
|
|
|
|
+
|
|
|
|
+# UI Service
|
|
|
|
+echo
|
|
|
|
+echo Starting UI Service...
|
|
|
|
+docker run -d -p ${ports[0]}:5000 --name baangt-ui \
|
|
|
|
+ -e DATABASE_URL=postgresql://baangt:12345@172.17.0.1:${ports[4]}/definition \
|
|
|
|
+ -e BAANGT_DATAFILE_HOST=172.17.0.1:${ports[2]} \
|
|
|
|
+ -e BAANGT_API_HOST=172.17.0.1:${ports[1]} --rm baangt-ui:latest
|
|
|
|
+
|
|
|
|
+# API Service
|
|
|
|
+echo
|
|
|
|
+echo Starting Execution API Service...
|
|
|
|
+docker run -d -p ${ports[1]}:5000 --name baangt-api \
|
|
|
|
+ -e BAANGT_DATAFILE_HOST=172.17.0.1:${ports[2]} \
|
|
|
|
+ -e DATABASE_URL=postgresql://baangt:12345@172.17.0.1:${ports[4]}/execution \
|
|
|
|
+ -e REDIS_URL=redis://172.17.0.1:${ports[3]}/0 --rm baangt-api:latest
|