Skip to content

Commit 5377bb6

Browse files
authored
Improve bash startup script (#268)
1 parent 556d836 commit 5377bb6

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed

bin/start.sh

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,39 @@ set -e
55
BINDIR=$(dirname $(realpath "$0"))
66
SOURCEDIR=$(dirname ${BINDIR})
77
REBUILD='no'
8+
MODE=''
9+
FOLLOW_LOG='1'
810

911
# Map arguments
10-
while getopts b flag
12+
while [[ $# -gt 0 ]] && [[ "$1" == "--"* ]] ;
1113
do
12-
case "${flag}" in
13-
b) REBUILD='yes';;
14-
esac
14+
opt="$1";
15+
shift;
16+
case "$opt" in
17+
"-b" )
18+
REBUILD='yes';;
19+
"--prod" )
20+
MODE='prod';;
21+
"--dev" )
22+
MODE='dev';;
23+
"--skip-log" )
24+
FOLLOW_LOG='0';;
25+
*) echo >&2 "Invalid option: $@"; exit 1;;
26+
esac
1527
done
1628

17-
echo -n "Deployment mode: [prod/dev] "
18-
read mode
29+
if [ "$MODE" == '' ]; then
30+
echo -n "Deployment mode: [prod/dev] "
31+
read MODE
1932

20-
if [ "$mode" != 'prod' ] && [ "$mode" != 'dev' ]; then
21-
echo "Invalid mode: ${mode}"
22-
exit 1;
33+
if [ "$MODE" != 'prod' ] && [ "$MODE" != 'dev' ]; then
34+
echo "Invalid mode: ${MODE}"
35+
exit 1;
36+
fi
2337
fi
2438

39+
echo "[MODE]: ${MODE}"
40+
2541
if [ "$REBUILD" == 'yes' ]; then
2642
echo "[REBUILD]: yes"
2743
else
@@ -47,7 +63,7 @@ rm -rf ${SOURCEDIR}/var/cache
4763
##
4864
# Start new container
4965
#
50-
if [ "$mode" == 'prod' ]; then
66+
if [ "$MODE" == 'prod' ]; then
5167
set -o allexport
5268
source .env
5369
[[ -f ".env.prod" ]] && source .env.prod
@@ -62,11 +78,14 @@ if [ "$mode" == 'prod' ]; then
6278
DOCKER_BUILDKIT=1 docker compose -f docker-compose.yml -f docker-compose.production.yml build
6379
fi
6480
docker compose -f docker-compose.yml -f docker-compose.production.yml up -d
65-
docker compose logs --tail=5 --follow
81+
82+
if [ "$FOLLOW_LOG" == '1' ]; then
83+
docker compose logs --tail=5 --follow
84+
fi
6685

6786
exit 0;
6887

69-
elif [ "$mode" == 'dev' ]; then
88+
elif [ "$MODE" == 'dev' ]; then
7089
set -o allexport
7190
source .env
7291
[[ -f ".env.dev" ]] && source .env.dev
@@ -77,5 +96,8 @@ elif [ "$mode" == 'dev' ]; then
7796
DOCKER_BUILDKIT=1 docker compose build
7897
fi
7998
docker compose up -d --remove-orphans
80-
docker compose logs --tail=5 --follow
99+
100+
if [ "$FOLLOW_LOG" == '1' ]; then
101+
docker compose logs --tail=5 --follow
102+
fi
81103
fi

0 commit comments

Comments
 (0)