MapStore Integration in geOrchestra

This section describes how to include MapStore in your geOrchestra installation.

All the steps assumes you are working from the project main directory.

Edit docker-compose.yml

Add the following snippet to the docker-compose.yml file:

mapstore:
image: geosolutionsit/mapstore2-georchestra:latest
depends_on:
  - database
volumes:
  - ./config:/etc/georchestra
environment:
  - JAVA_OPTS=-Xms512m -Xmx512m -Dgeorchestra.datadir=/etc/georchestra

Configure the ’proxy’ container to forward requests to MapStore

Add the following to the config/security-proxy/targets-mapping.properties file:

analytics=http://analytics:8080/analytics/
atlas=http://atlas:8080/atlas/
console=http://console:8080/console/
extractorapp=http://extractorapp:8080/extractorapp/
geonetwork=http://geonetwork:8080/geonetwork/
geoserver=http://geoserver:8080/geoserver/
header=http://header:8080/header/
mapfishapp=http://mapfishapp:8080/mapfishapp/
mapstore=http://mapstore:8080/mapstore/

Create config directory for MapStore

mkdir config/mapstore/

Add geostore override file to user PostgreSQL

Create the config/mapstore/geostore-datasource-ovr.properties with the following content:

#Default Postgres Connection values, uncomment for using postgres
geostoreDataSource.driverClassName=org.postgresql.Driver
geostoreDataSource.url=jdbc:postgresql://database:5432/geostore
geostoreDataSource.username=geostore
geostoreDataSource.password=geostore
geostoreVendorAdapter.databasePlatform=org.hibernate.dialect.PostgreSQLDialect
geostoreEntityManagerFactory.jpaPropertyMap[hibernate.hbm2ddl.auto]=validate
geostoreEntityManagerFactory.jpaPropertyMap[hibernate.default_schema]=geostore
geostoreVendorAdapter.generateDdl=true
geostoreVendorAdapter.showSql=false

NOTE: update the values to match your environment

Setup Database

  1. Jump into the PostgreSQL container and create GeoStore Role and DB
docker exec -it docker_database_1 bash
su postgres
psql -U georchestra
CREATE ROLE geostore WITH LOGIN PASSWORD 'geostore';
CREATE DATABASE geostore WITH OWNER 'geostore';
  1. Create schemas and tables as per GeoStore documentation

Recreate MapStore Container to pick up the change

docker-compose up -d --force-recreate mapstore