EOX GitLab Instance

Skip to content
Snippets Groups Projects
Commit 968a17af authored by Mussab Abdalla's avatar Mussab Abdalla
Browse files

Base core on eoxserver docker image + entrypoint

parent 74d3c4c0
No related branches found
No related tags found
No related merge requests found
#------------------------------------------------------------------------------
#
# 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
......
This diff is collapsed.
......@@ -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
......
#!/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
#!/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}
#!/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}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment