123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #!/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 "./runservice.rq.sh" \
- baangt-api:latest
- # postgres
- echo
- echo Starting PostgreSQL container...
- docker run -d -p ${ports[4]}: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
|