-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdevserver.sh
executable file
·66 lines (46 loc) · 1.44 KB
/
devserver.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
projectdir="$(pwd)"
if [ "$(basename $projectdir)" != "galerIA" ]; then
echo "This script must be run from the project root due to risk of removing wrong usermedia folder"
exit 1
fi
usermediaFolder="$projectdir/app/backend/usermedia-test"
function stop() {
docker-compose -f "$projectdir/docker-compose-dev.yml" stop
pkill -f runserver
pkill -f vite
echo "Stopped servers"
# Change DEBUG mode to False
sed -i 's/DEBUG = True/DEBUG = False/g' "$projectdir/app/backend/djangoconfig/settings.py"
exit 0
}
# Stop servers on signals
trap stop ERR
trap stop SIGTERM
trap stop SIGINT
trap stop SIGHUP
arg=$1
if [ "$arg" == "down" ]; then
docker-compose -f "$projectdir/docker-compose-dev.yml" down
printf "\nRemoving usermedia content...\n"
rm -rf "$usermediaFolder"/*
stop
fi
# DB server
docker-compose -f docker-compose-dev.yml build
docker-compose -f docker-compose-dev.yml up -d
# Wait for DB to be healthy
while [ "$(docker inspect --format '{{.State.Health.Status}}' galeria-db-dev)" != "healthy" ]; do
sleep 0.5
done
# Check if port is open to receive connections and apply migrations
./db/wait-for-it.sh localhost:5432
# Vite server
cd app/frontend
npm run dev -- --host &> vite.log &
cd ../backend
# Change DEBUG mode to True
sed -i 's/DEBUG = False/DEBUG = True/g' djangoconfig/settings.py
python manage.py migrate
cd ../..
# Django server
python app/backend/manage.py runserver 0.0.0.0:8000