diff --git a/core/Dockerfile b/core/Dockerfile index 63c8458b12449fb4526b55b88e8b86ac3f706423..41493e9290c1af20b12d81817f27946389503f0d 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ # -# Project: prism data access server +# Project: prism view server # Authors: Stephan Meissl <stephan.meissl@eox.at> # #------------------------------------------------------------------------------ @@ -25,68 +25,53 @@ # IN THE SOFTWARE. #----------------------------------------------------------------------------- -FROM ubuntu:18.04 -MAINTAINER EOX -LABEL name="prism data access server core" \ +FROM eoxa/eoxserver:latest + +LABEL name="prism view server core" \ vendor="EOX IT Services GmbH <https://eox.at>" \ license="MIT Copyright (C) 2019 EOX IT Services GmbH <https://eox.at>" \ - type="prism data access server core" \ + type="prism view server core" \ version="0.0.1-dev" USER root RUN apt update && \ - DEBIAN_FRONTEND=noninteractive apt install -y software-properties-common && \ - add-apt-repository -y ppa:ubuntugis/ppa && \ - apt update && \ - DEBIAN_FRONTEND=noninteractive apt install -y \ - python \ - python-pip \ - libpq-dev \ - python-mapscript \ - python-gdal \ - gdal-bin \ - postgresql-client \ - python-redis && \ + apt install -y \ + libpq-dev && \ apt autoremove -y && \ apt clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -# Install EOxServer (TODO: Use final release package) -RUN mkdir /opt/eoxserver/ -WORKDIR /opt/eoxserver -ADD eoxserver/eoxserver eoxserver -ADD eoxserver/tools tools -ADD eoxserver/setup.cfg eoxserver/setup.py eoxserver/MANIFEST.in eoxserver/README.rst eoxserver/requirements.txt ./ -RUN pip install -r requirements.txt && \ - pip install . && \ - pip install python-keystoneclient python-swiftclient +RUN pip3 install . && \ + pip3 install python-keystoneclient python-swiftclient redis -ENV INSTANCE_ID="prism-data-access-server_core" \ +ENV INSTANCE_ID="prism-view-server_core" \ + INSTANCE_NAME="pvs_instance"\ + INSTANCE_DIR="/var/www/pvs/dev/pvs_instance/" \ COLLECTION= \ DB_USER= \ DB_PW= \ DB_HOST= \ DB_PORT= \ DB_NAME= \ - INSTALL_DIR="/var/www/pdas/" \ + INSTALL_DIR="/var/www/pvs/dev/" \ DJANGO_USER="admin" \ DJANGO_MAIL="office@eox.at" \ DJANGO_PASSWORD="***REMOVED***" \ DATA_DIR="/data/" \ - APACHE_CONF="/etc/httpd/conf.d/010_pdas.conf" \ - APACHE_ServerName="pdas_instance" \ + APACHE_CONF="/etc/httpd/conf.d/010_pvs.conf" \ + APACHE_ServerName="pvs_instance" \ APACHE_ServerAdmin="office@eox.at" \ - APACHE_ALIAS="pdas" \ + APACHE_ALIAS="pvs" \ REDIS_HOST= \ REDIS_PORT= \ REDIS_REGISTER_QUEUE_KEY= \ - REDIS_REGISTERED_SET_KEY= + REDIS_REGISTERED_SET_KEY= \ + INIT_SCRIPTS="/configure.sh" ADD rgbnir_definition.json \ configure.sh \ - wait-for-database.sh \ run-httpd.sh \ run-registrar.sh \ registrar.py \ @@ -96,7 +81,6 @@ ADD rgbnir_definition.json \ RUN chmod -v +x \ /configure.sh \ - /wait-for-database.sh \ /run-registrar.sh \ /run-httpd.sh # /run-redis-manager.sh diff --git a/core/configure.sh b/core/configure.sh index 13a7f9602c24798b1b33c2bb6e05557b2c713aca..812ac0c3049738b2a4c713ea29fcf534683579cd 100644 --- a/core/configure.sh +++ b/core/configure.sh @@ -1,29 +1,8 @@ #!/bin/bash echo "Running configure.sh" -echo "Generating PDAS directory" -mkdir -p "${INSTALL_DIR}" -cd "${INSTALL_DIR}" - -if [ ! -d pdas_instance ] ; then - echo "Creating PRISM Data Access Server (PDAS) instance" - eoxserver-admin.py create_instance pdas_instance - - echo "Configure PRISM Data Access Server (PDAS) instance" - cd "pdas_instance" - - # Configure DBs - INSTALL_DIR_ESCAPED=`echo ${INSTALL_DIR} | sed -e 's,/$,,' | sed -e 's,/,\\\&,g'` - sed -e "s/'ENGINE': 'django.contrib.gis.db.backends.spatialite',/'ENGINE': 'django.contrib.gis.db.backends.postgis',/" -i pdas_instance/settings.py - sed -e "s/'NAME': join(PROJECT_DIR, 'data\/config.sqlite'),/'NAME': '${DB_NAME}',/" -i pdas_instance/settings.py - sed -e "/#'TEST_NAME': join(PROJECT_DIR, 'data\/test-config.sqlite'),/d" -i pdas_instance/settings.py - sed -e "s/'USER': '',/'USER': '${DB_USER}',/" -i pdas_instance/settings.py - sed -e "s/'PASSWORD': '',/'PASSWORD': '${DB_PW}',/" -i pdas_instance/settings.py - sed -e "s/'HOST': '',/'HOST': '${DB_HOST}',/" -i pdas_instance/settings.py - sed -e "s/'PORT': '',/'PORT': '${DB_PORT}',/" -i pdas_instance/settings.py - # Configure instance - sed -e "s/'disable_existing_loggers': True,/'disable_existing_loggers': False,/" -i pdas_instance/settings.py + sed -e "s/'disable_existing_loggers': True,/'disable_existing_loggers': False,/" -i pvs_instance/settings.py HANDLERS="'handlers': {\n 'null': {\n 'level':'DEBUG',\n @@ -43,47 +22,46 @@ if [ ! -d pdas_instance ] ; then 'propagate': False,\n }, }" - sed -e "/^ 'handlers': {$/,/^ },$/c `echo ${HANDLERS}`" -i pdas_instance/settings.py - sed -e "/^ 'loggers': {$/,/^ }$/c `echo ${LOGGERS}`" -i pdas_instance/settings.py + 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 pdas_instance/conf/eoxserver.conf - sed -e "s/resampling_method=average/resampling_method=near/" -i pdas_instance/conf/eoxserver.conf + 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 # TODO maxsize... - echo "EOXS_VALIDATE_IDS_NCNAME = False" >> pdas_instance/settings.py - echo "EOXS_OPENSEARCH_RECORD_MODEL = 'eoxserver.resources.coverages.models.Product'" >> pdas_instance/settings.py + 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 "CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': '/var/tmp/django_cache', } -}" >> pdas_instance/settings.py +}" >> pvs_instance/settings.py - sed -e "/TEMPLATE_DEBUG = DEBUG/d" -i pdas_instance/settings.py + sed -e "/TEMPLATE_DEBUG = DEBUG/d" -i pvs_instance/settings.py - sed -e 's/DEBUG = True/DEBUG = False/' -i pdas_instance/settings.py + sed -e 's/DEBUG = True/DEBUG = False/' -i pvs_instance/settings.py # Further configuration - echo "ALLOWED_HOSTS = ['*']" >> pdas_instance/settings.py - echo "USE_X_FORWARDED_HOST = True" >> pdas_instance/settings.py - echo "SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')" >> pdas_instance/settings.py + 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 - python manage.py migrate --noinput - # Check if collection exits in database and initialize database only if not - if python manage.py id check "${COLLECTION}"; then +# Check if collection exits in database and initialize database only if not + if python3 manage.py id check "${COLLECTION}"; then echo "Initialize database" - python manage.py coveragetype import /rgbnir_definition.json --traceback + python3 manage.py coveragetype import /rgbnir_definition.json --traceback if [ "${COLLECTION}" == "VHR_IMAGE_2018" ]; then echo "Initializing collection '${COLLECTION}'." # PL00 - python manage.py producttype create "${COLLECTION}"_Product_PL00 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_PL00 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_PL00 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -93,7 +71,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PL00 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -103,7 +81,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PL00 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -113,13 +91,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PL00 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # DM02 - python manage.py producttype create "${COLLECTION}"_Product_DM02 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_DM02 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_DM02 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -129,7 +107,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_DM02 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -139,7 +117,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_DM02 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -149,13 +127,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_DM02 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # KS03 - python manage.py producttype create "${COLLECTION}"_Product_KS03 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_KS03 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_KS03 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -165,7 +143,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_KS03 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -175,7 +153,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_KS03 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -185,13 +163,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_KS03 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # KS04 - python manage.py producttype create "${COLLECTION}"_Product_KS04 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_KS04 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_KS04 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -201,7 +179,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_KS04 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -211,7 +189,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_KS04 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -221,13 +199,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_KS04 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # PH1A - python manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -237,7 +215,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -247,7 +225,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -257,13 +235,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # PH1B - python manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -273,7 +251,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -283,7 +261,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -293,13 +271,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # SP06 - python manage.py producttype create "${COLLECTION}"_Product_SP06 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_SP06 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_SP06 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -309,7 +287,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SP06 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -319,7 +297,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SP06 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -329,13 +307,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SP06 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # SP07 - python manage.py producttype create "${COLLECTION}"_Product_SP07 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_SP07 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_SP07 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -345,7 +323,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SP07 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -355,7 +333,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SP07 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -365,13 +343,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SP07 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # SW00 - python manage.py producttype create "${COLLECTION}"_Product_SW00 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_SW00 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_SW00 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -381,7 +359,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SW00 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -391,7 +369,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SW00 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -401,13 +379,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_SW00 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # TR00 - python manage.py producttype create "${COLLECTION}"_Product_TR00 --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_TR00 --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_TR00 --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -417,7 +395,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_TR00 "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -427,7 +405,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_TR00 "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -437,10 +415,10 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_TR00 "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 - python manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ + python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ --coverage-type "RGBNir" \ --product-type "${COLLECTION}"_Product_PL00 \ --product-type "${COLLECTION}"_Product_DM02 \ @@ -454,21 +432,21 @@ if [ ! -d pdas_instance ] ; then --product-type "${COLLECTION}"_Product_TR00 # Create collections for all/Level-1/Level-3 products - python manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback - python manage.py collection create "${COLLECTION}_Level_1" --type "${COLLECTION}"_Collection --traceback - python manage.py collection create "${COLLECTION}_Level_3" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_Level_1" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_Level_3" --type "${COLLECTION}"_Collection --traceback # Register mask type - python manage.py masktype create --validity "${COLLECTION}"_Product_PL00 validity - python manage.py masktype create --validity "${COLLECTION}"_Product_DM02 validity - python manage.py masktype create --validity "${COLLECTION}"_Product_KS03 validity - python manage.py masktype create --validity "${COLLECTION}"_Product_KS04 validity - python manage.py masktype create --validity "${COLLECTION}"_Product_PH1A validity - python manage.py masktype create --validity "${COLLECTION}"_Product_PH1B validity - python manage.py masktype create --validity "${COLLECTION}"_Product_SP06 validity - python manage.py masktype create --validity "${COLLECTION}"_Product_SP07 validity - python manage.py masktype create --validity "${COLLECTION}"_Product_SW00 validity - python manage.py masktype create --validity "${COLLECTION}"_Product_TR00 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_PL00 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_DM02 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_KS03 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_KS04 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_PH1A validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_PH1B validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_SP06 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_SP07 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_SW00 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_TR00 validity elif [ "${COLLECTION}" == "Emergency" ]; then echo "Initializing collection '${COLLECTION}'." @@ -498,9 +476,9 @@ if [ ! -d pdas_instance ] ; then # SP07 # PH1A - python manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -510,7 +488,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -520,7 +498,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -530,13 +508,13 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 # PH1B - python manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ + python3 manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ --coverage-type "RGBNir" - python manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -546,7 +524,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ --red "red" \ --green "green" \ --blue "blue" \ @@ -556,7 +534,7 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ --red "nir" \ --green "red" \ --blue "green" \ @@ -566,21 +544,21 @@ if [ ! -d pdas_instance ] ; then --red-nodata 0 \ --green-nodata 0 \ --blue-nodata 0 - python manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ --grey "(nir-red)/(nir+red)" --grey-range -1 1 - python manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ + python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ --coverage-type "RGBNir" \ --product-type "${COLLECTION}"_Product_PH1A \ --product-type "${COLLECTION}"_Product_PH1B - python manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback else echo "Provided collection '${COLLECTION}' not valid." - fi + fi - python manage.py storageauth create auth-cloud-ovh "${OS_AUTH_URL_SHORT}" \ + python3 manage.py storageauth create auth-cloud-ovh "${OS_AUTH_URL_SHORT}" \ --type keystone \ -p auth-version "${ST_AUTH_VERSION}" \ -p identity-api-version="${ST_AUTH_VERSION}" \ @@ -591,24 +569,16 @@ if [ ! -d pdas_instance ] ; then -p region-name "${OS_REGION_NAME}" for bucket in "data10" "data11" "data12" "data13" "data14" "data15" "data16" "data17" "data18" "data20" "data21" "data22" "data23" "data24" "data25" "data26"; do - python manage.py storage create \ + python3 manage.py storage create \ ${bucket} ${bucket} \ --type swift \ --storage-auth auth-cloud-ovh done - echo "Creating admin user" - python manage.py shell -c "from django.contrib.auth.models import User; User.objects.create_superuser('${DJANGO_USER}', '${DJANGO_MAIL}', '${DJANGO_PASSWORD}')" else echo "Using existing database" fi - # Collect static files - python manage.py collectstatic --noinput - chmod g+w -R . - chgrp users -R . -else - echo "Using existing PRISM Data Access Server (PDAS) instance" -fi + chgrp users -R . \ No newline at end of file diff --git a/core/registrar.py b/core/registrar.py index 7b75541857f77d6d9b0bff24187ec9b9003f9169..76c502cb1958f05d9bf92e8884d95673a3fca232 100644 --- a/core/registrar.py +++ b/core/registrar.py @@ -44,11 +44,11 @@ import django from django.db import transaction from django.contrib.gis.geos import GEOSGeometry -path = os.path.join(os.getenv('INSTALL_DIR', "/var/www/pdas"), "pdas_instance") +path = os.path.join(os.getenv('INSTALL_DIR', "/var/www/pvs"), "pvs_instance") if path not in sys.path: sys.path.append(path) -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pdas_instance.settings") +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pvs_instance.settings") django.setup() from eoxserver.backends import access diff --git a/core/run-httpd.sh b/core/run-httpd.sh index bc85173f279c2978761ed3f228fe9f5ee189a606..cf381e95de02940f056813c7fa3b5ad76690eafa 100644 --- a/core/run-httpd.sh +++ b/core/run-httpd.sh @@ -1,6 +1,5 @@ #!/bin/bash -/configure.sh echo "Running gunicorn" -exec gunicorn --chdir ${INSTALL_DIR}/pdas_instance/ --bind :80 pdas_instance.wsgi:application --workers 8 --timeout 600 --access-logfile - --error-logfile - --log-level warning --disable-redirect-access-to-syslog +exec gunicorn --chdir ${INSTALL_DIR}/pvs_instance/ --bind :80 pvs_instance.wsgi:application --workers 8 --timeout 600 --access-logfile - --error-logfile - --log-level warning --disable-redirect-access-to-syslog diff --git a/core/run-registrar.sh b/core/run-registrar.sh index 76848ac29b270df9eb92d87137e1bdef7abc1479..c00cb49c4bfc329eeb0c987dda3e2970e174417b 100644 --- a/core/run-registrar.sh +++ b/core/run-registrar.sh @@ -1,6 +1,5 @@ #!/bin/sh -/configure.sh - echo "Running registrar" -python /registrar.py ${COLLECTION} --mode redis --redis-host ${REDIS_HOST} --redis-port ${REDIS_PORT} --redis-register-queue-key ${REDIS_REGISTER_QUEUE_KEY} --redis-registered-set-key ${REDIS_REGISTERED_SET_KEY} + + python3 /registrar.py ${COLLECTION} --mode redis --redis-host ${REDIS_HOST} --redis-port ${REDIS_PORT} --redis-register-queue-key ${REDIS_REGISTER_QUEUE_KEY} --redis-registered-set-key ${REDIS_REGISTERED_SET_KEY} diff --git a/core/wait-for-database.sh b/core/wait-for-database.sh deleted file mode 100644 index 6d163cb4707cbc873d2da861b607c281e5139f11..0000000000000000000000000000000000000000 --- a/core/wait-for-database.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -# wait-for-database.sh - -set -e - -cmd="$@" - -until PGPASSWORD=${DB_PW} psql "${DB_NAME}" -h "${DB_HOST}" -U "${DB_USER}" -c '\q'; do - >&2 echo "Database is unavailable - sleeping" - sleep 5 -done - ->&2 echo "Database is up - executing command ${cmd}" -exec ${cmd}