view README.md @ 1065:cdee23f3ee4c crossprofile

closed branch crossprofile
author Thomas Junk <thomas.junk@intevation.de>
date Fri, 26 Oct 2018 08:51:56 +0200
parents 76e9296d6191
children f370ce6eab65
line wrap: on
line source

# Quick Start

## Build

- To build all components of gemma, simply type `make` on the top
  level directory of the repro.

- To build all components of gemma, with client in demo mode, use `make demo`.

- To only (re)build the back end you can use `make gemma`.

- To only build the SPA-Client you can use `make client`.

- To only build the SPA-Client in demo mode you can use `make clientdemo`.

For further details see [docs/DEVELOPMENT](docs/DEVELOPMENT.md),


## Setup Database

- You will need a PostgreSQL cluster with PostGIS.

- To install the **gemma** schema and roles use the script
  `./schema/install-db.sh`.

- `./schema/install-db.sh --help` shows you available options.
  Per default the script will create a database named "gemma" and all
  necessary roles in the postgres default cluster (listening on port
  5432).

- The script must be run as a user with PostgreSQL super user rights.
  By convention this is the "postgres" on most systems.


## Setup GeoServer

- Install and run GeoServer as described here:
  http://docs.geoserver.org/stable/en/user/installation/

- Add tables you want to publish as OGC-Service Layers via GeoServer in
  the database. For example publish the bottleneck areas:
  ```
  INSERT INTO sys_admin.published_services (name, as_wfs) VALUES
    ('waterway.bottlenecks', true);
  ```
  In case your gemma is already running (see next section), restart it.
  Published WFS services will be available at `/api/internal/wfs`. Currently,
  the same layers will also be available as WMS services at
  `/api/internal/wms`, regardless of the value of `as_wms` in
  `sys_admin.published_services`.

## Running gemma

- Best is to create a configuration file.  Copy the example from
  `example_conf.toml` to get started:
  ```
  cp example_conf.toml gemma.toml
  ```

- Edit `gemma.toml`, some parameters you probably want to change:

  * `host` and `port` to make gemma listen on a public interface
  * `metamorph-db-password` to match the password for your database user
  * `geoserver-url`, `geoserver-user` and `geoserver-password` to match
     your instance of GeoServer

- `./cmd/gemma/gemma -h` gives you an overview of more available
  options.

- Then start gemma:
  ```
  ./cmd/gemma/gemma
  ```

## Proxying OGC services through gemma

- Add services you want to publish via gemma (e.g. for same-origin policy
  compliance reasons) in the database. For example:
  ```
  INSERT INTO sys_admin.external_services (local_name, remote_url, is_wfs)
    VALUES ('d4d', 'https://service.d4d-portal.info/wamos/wfs', true);
  ```
  In case your gemma is already running (see previous section), restart it.
  The services will be available at `/api/external/${local_name}`, thus in
  the example given above: `/api/external/d4d`.