Newer
Older
#!/bin/bash
{
echo "Running configure.sh"
DEBUG=${DEBUG:="false"}
# Configure instance
sed -e "s/'disable_existing_loggers': True,/'disable_existing_loggers': False,/" -i pvs_instance/settings.py
HANDLERS="'handlers': {\n
'null': {\n
'level':'DEBUG',\n
'class':'logging.NullHandler',\n
},\n
'console': {\n
'level': 'DEBUG' if DEBUG else 'INFO',\n
'class': 'logging.StreamHandler',\n
'formatter': 'verbose' if DEBUG else 'simple',\n
'filters': [],\n
},\n
},"
LOGGERS="'loggers': {\n
'eoxserver': {\n
'handlers': ['console'],\n
'level': 'DEBUG' if DEBUG else 'INFO',\n
'propagate': False,\n
},
}"
sed -e "/^ 'handlers': {$/,/^ },$/c `echo ${HANDLERS}`" -i pvs_instance/settings.py
sed -e "/^ 'loggers': {$/,/^ }$/c `echo ${LOGGERS}`" -i pvs_instance/settings.py
sed -e "s,http_service_url=http://localhost:8000/ows,http_service_url=${APACHE_ALIAS}/ows," -i pvs_instance/conf/eoxserver.conf
sed -e "s/resampling_method=average/resampling_method=near/" -i pvs_instance/conf/eoxserver.conf
sed -e "s/image\/jp2,GDAL\/JPEG2000/#image\/jp2,GDAL\/JPEG2000/" -i pvs_instance/conf/formats.conf
# TODO maxsize...
echo "EOXS_VALIDATE_IDS_NCNAME = False" >> pvs_instance/settings.py
echo "EOXS_OPENSEARCH_RECORD_MODEL = 'eoxserver.resources.coverages.models.Product'" >> pvs_instance/settings.py
echo "EOXS_LAYER_SUFFIX_SEPARATOR = '${EOXS_LAYER_SUFFIX_SEPARATOR}'" >> pvs_instance/settings.py
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
echo "CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
'LOCATION': '/var/tmp/django_cache',
}
}" >> pvs_instance/settings.py
sed -e "/TEMPLATE_DEBUG = DEBUG/d" -i pvs_instance/settings.py
sed -e 's/DEBUG = True/DEBUG = False/' -i pvs_instance/settings.py
# Further configuration
echo "ALLOWED_HOSTS = ['*']" >> pvs_instance/settings.py
echo "USE_X_FORWARDED_HOST = True" >> pvs_instance/settings.py
echo "SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')" >> pvs_instance/settings.py
if $DEV ; then
# activate django cors plugin for dev environment to remove need for browser cors plugin
sed -i "s/ 'django.contrib.auth',/ 'corsheaders', 'django.contrib.auth',/g" pvs_instance/settings.py
sed -i "s/ 'django.contrib.sessions.middleware.SessionMiddleware',/ 'corsheaders.middleware.CorsMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',/g" pvs_instance/settings.py
echo 'CORS_ORIGIN_ALLOW_ALL = True' >> pvs_instance/settings.py
fi
sed -e "s/SECRET_KEY = '.*'/SECRET_KEY = '${DJANGO_SECRET_KEY}'/" -i pvs_instance/settings.py
chmod g+w -R .
chgrp users -R .
if [[ "$DEBUG" = true ]] ; then
echo "DEBUG ON Setting functions"
echo "MIDDLEWARE.append('pyinstrument.middleware.ProfilerMiddleware')" >> pvs_instance/settings.py
sed -e 's/DEBUG = False/DEBUG = True/' -i pvs_instance/settings.py
var="import os
import sys
import debugpy
def initialize_debugger():
if not os.getenv('RUN_MAIN'):
import debugpy
debugpy.listen(('0.0.0.0', 5678))
"
echo "$var" >> debug.py
sed -i "/import sys/a from debug import initialize_debugger" manage.py
sed -i '/execute_from_command_line(sys.argv)*/i \\ initialize_debugger()' manage.py
fi
} 1>&2