forked from GeoNode/geonode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
entrypoint.sh
executable file
·102 lines (77 loc) · 2.45 KB
/
entrypoint.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash
# Exit script in case of error
set -e
INVOKE_LOG_STDOUT=${INVOKE_LOG_STDOUT:-FALSE}
invoke () {
if [ $INVOKE_LOG_STDOUT = 'true' ] || [ $INVOKE_LOG_STDOUT = 'True' ]
then
/usr/local/bin/invoke $@
else
/usr/local/bin/invoke $@ > /usr/src/geonode/invoke.log 2>&1
fi
echo "$@ tasks done"
}
# Start cron && memcached services
service cron restart
service memcached restart
echo $"\n\n\n"
echo "-----------------------------------------------------"
echo "STARTING DJANGO ENTRYPOINT $(date)"
echo "-----------------------------------------------------"
invoke update
source $HOME/.bashrc
source $HOME/.override_env
echo DOCKER_API_VERSION=$DOCKER_API_VERSION
echo POSTGRES_USER=$POSTGRES_USER
echo POSTGRES_PASSWORD=$POSTGRES_PASSWORD
echo DATABASE_URL=$DATABASE_URL
echo GEODATABASE_URL=$GEODATABASE_URL
echo SITEURL=$SITEURL
echo ALLOWED_HOSTS=$ALLOWED_HOSTS
echo GEOSERVER_PUBLIC_LOCATION=$GEOSERVER_PUBLIC_LOCATION
echo MONITORING_ENABLED=$MONITORING_ENABLED
echo MONITORING_HOST_NAME=$MONITORING_HOST_NAME
echo MONITORING_SERVICE_NAME=$MONITORING_SERVICE_NAME
echo MONITORING_DATA_TTL=$MONITORING_DATA_TTL
invoke waitfordbs
cmd="$@"
echo DOCKER_ENV=$DOCKER_ENV
if [ -z ${DOCKER_ENV} ] || [ ${DOCKER_ENV} = "development" ]
then
invoke migrations
invoke prepare
invoke fixtures
if [ ${IS_CELERY} = "true" ] || [ ${IS_CELERY} = "True" ]
then
echo "Executing Celery server $cmd for Development"
else
invoke devrequirements
invoke statics
echo "Executing standard Django server $cmd for Development"
fi
else
if [ ${IS_CELERY} = "true" ] || [ ${IS_CELERY} = "True" ]
then
echo "Executing Celery server $cmd for Production"
else
invoke migrations
invoke prepare
if [ ${FORCE_REINIT} = "true" ] || [ ${FORCE_REINIT} = "True" ] || [ ! -e "/mnt/volumes/statics/geonode_init.lock" ]; then
invoke updategeoip
invoke fixtures
invoke monitoringfixture
invoke initialized
fi
invoke statics
invoke waitforgeoserver
invoke geoserverfixture
invoke updateadmin
echo "Executing UWSGI server $cmd for Production"
fi
fi
echo "-----------------------------------------------------"
echo "FINISHED DJANGO ENTRYPOINT --------------------------"
echo "-----------------------------------------------------"
# Run the CMD
echo "got command $cmd"
exec $cmd